WebGL library for 2gis projects
JavaScript GLSL
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples Add vao (#70) Oct 14, 2016
src add subImage method to Texture class (#91) Mar 28, 2018
test add subImage method to Texture class (#91) Mar 28, 2018
.eslintrc Reduce gl-matrix size (#89) Aug 25, 2017
.gitignore Add typings, texture fields as options (#90) Dec 11, 2017
.npmignore Tree shaker-shaker Jul 25, 2016
.travis.yml Use node 6 version (#74) Feb 9, 2017
LICENSE Update LICENSE Oct 27, 2016
README.md Add connection section in readme Jun 16, 2016
buildShaders.js Reduce gl-matrix size (#89) Aug 25, 2017
index.d.ts add subImage method to Texture class (#91) Mar 28, 2018
jsdoc.json fix mistakes Sep 11, 2015
package.json
webpack.config.js Reduce gl-matrix size (#89) Aug 25, 2017

README.md

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

Release

  • npm version patch - поднять патч версию
  • npm run pub - собрать проект, отправить в npm, вернуть в исходное состояние