WebGL стал проще с помощью PhiloGL


WebGL-это здорово, но немного примитивно. PhiloGL надеется положить конец возне с шейдером, предоставив API более высокого уровня для 3D-графики на WebGL.

WebGL-это контекст 3D — рисования для объекта HTML5 canvas, но не часто упоминается, что он довольно примитивен. Это низкоуровневый 3D API, основанный на OpenGL/ES, и поэтому многие программисты имеют хорошее представление о том, как его использовать, но.. что делать, если вы хотите создавать 3D-приложения без необходимости копаться в подвале GPU?

Одним из возможных решений является использование фреймворка с открытым исходным кодом PhiloGL, который только что был выпущен Sencha Labs. Написанный на JavaScript (конечно), он предоставляет абстракции, с которыми большинство программистов знакомы в API 3D-графики более высокого уровня. Например, вы можете использовать камеру для настройки вида, а объект сцены включает в себя свет как окружающий, так и направленный. Это означает, что вы можете в основном игнорировать проблему настройки шейдеров, хотя существуют методы, которые позволяют указать пользовательские шейдеры, если они вам нужны.

На несколько менее захватывающем уровне, хотя и существенном, он включает в себя методы матричных и векторных операций — то, чего не хватает WebGL. Он также поддерживает простые 3D-модели в комплекте с нормалями и текстурами, а также небольшое количество стандартных моделей, таких как куб и сфера.  Утилиты, облегчающие использование рабочих потоков, также предоставляются вместе с методами загрузки ресурсов.

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

В целом фреймворк обеспечивает хороший баланс между абстракцией и тем, чтобы оставаться достаточно близким к способу работы OpenGL. Учитывая, что он с открытым исходным кодом и выпущен по лицензии MIT, стоит попробовать.

Альтернативы фреймворку PhiloGL существуют — в частности, библиотека JavaScript Canvas 3G, которая предлагает аналогичный спектр возможностей, но, похоже, имеет довольно низкую активность разработчиков.  Нам действительно не помешала бы одна библиотека WebGL, чтобы оставить наши коллективные усилия позади — возможно, нам нужен другой стандарт.


Добавить комментарий