2gl
Узкоспециализированная библиотека WebGL для использования в проектах 2GIS
Документация
- Для работы с матрицами и векторами используется библиотека glMatrix
- Работа с геометрическими объектами, например, Plane, Line3, Ray, взята из three.js
На данный момент может работать со следующими типами объектов для отображения:
- Basic mesh - меш, закрашивается в один цвет
- Complex mesh - меш, для которого можно установить: цвета для каждой из вершин, освещение, текстуру и определять для какой из вершин будет использоваться текстура
- Sprite - спрайт, к камере расположен всегда одной гранью, удалённость не влияет на размеры изображения
- MultiSprite - мультиспрайт представляет собой множество спрайтов, которые рисуются в один draw call
Examples
Установка
Подключение
Есть несколько способов подключения библиотеки:
- Напрямую через тег, скрипт
2gl.js
лежит в папке dist
и содержит все компоненты библиотеки:
<script src="2gl.js"></script>
- Если вы используете сборщики, например,
browserify
или webpack
:
var dgl = require("2gl");
import dgl from "2gl";
- Можно подключать только нужные компоненты для уменьшения размера:
var Mesh = require("2gl/Mesh");
var AmbientLight = require("2gl/lights/AmbientLight");
Development
Checking examples locally
- Install
http-server
- Run
http-server
at the root project directory - Open http://localhost:8080/ and navigate to some
*.html
demo at the examples
directory
Release
If you plan to release a new version from your branch
- Bump version via
npm version major | minor | patch
- Merge your branch into master
- Create a new release, this will run the release workflow
Beta-release
Beta-release is suitable to perform some checks/integrations with npm-package.
It releases the same npm package as a regular release, but in the beta tag, which do not update latest version on npm.
To make beta-release you should create a tag with a current version in package.json
and suffix, e.g.
npm version 0.12.0-foo-bar
And then push tag.
git push --tags
Pushed tag will run the beta-release workflow.