T.M. SoftStudio

feci quod potui, faciant meliora potentes

Фреймворки WebGL


На базе WebGL API созданы разнообразные инструменты и библиотеки, упрощающие создание WebGL-приложений. Кроме того, существуют различные библиотеки, упрощающие работу с WebGL API.


Sylvester



Библиотека Sylvester (http://sylvester.jcoglan.com/) обеспечивает моделирование векторов и матриц различных размеров.

Программный интерфейс Sylvester API состоит из классов Vector, Matrix, Line и Plane.



Класс Vector представляет вектор в n-размерном пространстве, объект которого можно создать с помощью конструктора класса или используя статические методы класса Vector.

К созданному вектору могут быть применены методы, обеспечивающие операции сложения, произведения и вычитания двух векторов, а также возвращающие различные свойства вектора.



Класс Matrixпредставляет матрицу (n x m), объект которой можно создать с помощью конструктора класса или используя статические методы класса Matrix.

К созданной матрице могут быть применены методы, обеспечивающие операции сложения, сращивания, произведения и вычитания двух матриц, операции преобразования, а также возвращающие различные свойства матрицы, такие как ее определитель, размеры, диагональ, ранг и элементы.



Класс Line представляет бесконечную линию, характеризующуюся якорем и направлением, объект которой можно создать с помощью конструктора класса или используя статические методы класса Line.

К созданной линии могут быть применены методы, обеспечивающие операции сравнения с другими линиями, векторами и плоскостями.



Класс Plane представляет плоскость, характеризующуюся якорем и нормалью, объект которой можно создать с помощью конструктора класса или используя статические методы класса Plane.

К созданной плоскости могут быть применены методы, обеспечивающие операции сравнения с другими линиями, векторами и плоскостями.



glUtils.js



Библиотека glUtils.js (http://code.google.com/p/webgl-code-storage/source/browse/trunk/samples/camera_anime/glUtils.js?r=4) расширяет библиотеку Sylvester, упрощая ее использование.

Библиотека glUtils.js добавляет методы создания матриц трансляции, gluLookAt, gluPerspective, glFrustum, glOrtho и др.



GLU.js



Библиотека GLU.js (https://github.com/rbeitra/GLU.js) упрощает использование программного интерфейса WebGL API, определяя объект-обертку GLU, предназначенный для инкапсуляции canvas-контекста, униформ, шейдеров, программ, буферов данных, текстур, материалов, модели и кадрового буфера.

Вспомогательная библиотека GLUTIL.js обеспечивает предварительный просмотр текстуры.