Skip to content

2gis/2gl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

4ef7658 · Mar 13, 2023
Mar 6, 2023
Mar 13, 2023
Mar 13, 2023
Feb 28, 2023
Jan 26, 2023
Dec 20, 2022
Aug 25, 2017
Jan 26, 2023
Jan 26, 2023
Dec 2, 2019
Feb 14, 2019
Mar 6, 2023
Aug 25, 2017
Mar 13, 2023
Sep 11, 2015
Mar 13, 2023
Mar 13, 2023
Jan 26, 2023

Repository files navigation

2gl Build Status Coverage Status

Узкоспециализированная библиотека WebGL для использования в проектах 2GIS

Документация

  • Для работы с матрицами и векторами используется библиотека glMatrix
  • Работа с геометрическими объектами, например, Plane, Line3, Ray, взята из three.js

На данный момент может работать со следующими типами объектов для отображения:

  1. Basic mesh - меш, закрашивается в один цвет
  2. Complex mesh - меш, для которого можно установить: цвета для каждой из вершин, освещение, текстуру и определять для какой из вершин будет использоваться текстура
  3. Sprite - спрайт, к камере расположен всегда одной гранью, удалённость не влияет на размеры изображения
  4. MultiSprite - мультиспрайт представляет собой множество спрайтов, которые рисуются в один draw call

Examples

Установка

  • npm install 2gl

Подключение

Есть несколько способов подключения библиотеки:

  • Напрямую через тег, скрипт 2gl.js лежит в папке dist и содержит все компоненты библиотеки:
<script src="2gl.js"></script>
  • Если вы используете сборщики, например, browserify или webpack:
var dgl = require("2gl"); // CommonJS
import dgl from "2gl"; // ES6
  • Можно подключать только нужные компоненты для уменьшения размера:
var Mesh = require("2gl/Mesh");
var AmbientLight = require("2gl/lights/AmbientLight");

Development

  • npm install
  • npm start

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.