Выбираем библиотеку для работы с WebGL

в 11:56, , рубрики: game development, javascript, WebGL, библиотеки, Веб-разработка, Работа с анимацией и 3D-графикой

Как-то утром, пробегая мимо славного урока, я подумал: «Это круто, только всё же кой-чего тут не хватает». Если надо много кода написать легко и быстро, то нужна нам, без сомнений, для сего библиотека. Только как её нам выбрать, если каждый, кто умеет на гитхабе заводить репозиторий, запилил велосипед свой? И об этом для тебя, друг, напишу сегодня пост вдруг.

Я, как и многие другие пользователи технологии WebGL, начал своё с ней знакомство с одной-единственной библиотеки, о которой где-то прочитал или от кого-то услышал, и теперь забиваю все гвозди одним и тем же молотком. Однако, если бы я только начинал знакомство с WebGL сегодня, то всё могло бы сложиться иначе. Дело в том, что в прошлом году один добрый человек потратил 6 месяцев на то, чтобы написать серию простейших примеров работы с WebGL с использованием всех библиотек, до которых смог дотянуться — что даёт вам уникальную возможность сравнить API различных библиотек ещё до того, как начать углублённое изучение одной из них:

Библиотека Версия Размер Выбираем библиотеку для работы с WebGL - 1 Выбираем библиотеку для работы с WebGL - 2 Выбираем библиотеку для работы с WebGL - 3 Выбираем библиотеку для работы с WebGL - 4
Голый WebGL 1.0 0 Тыц Тыц Тыц Тыц
Голый WebGL 2.0 0 Тыц Тыц Тыц Тыц
WebGL Helper - 15KB Тыц Тыц Тыц Тыц
TWGL.js v0.0.20 19KB Тыц Тыц Тыц Тыц
glCubic.js v0.01 22KB Тыц Тыц Тыц Тыц
webgl-utils.js - 50KB Тыц Тыц Тыц Тыц
stackgl v1.4.0 67KB Тыц Тыц Тыц Тыц
lightgl.js - 72KB Тыц Тыц Тыц Тыц
GLOW.js r1.1 77KB Тыц Тыц Тыц Тыц
TDL v0.0.8 91KB Тыц Тыц Тыц Тыц
GLBoost - 132KB Тыц Тыц Тыц Тыц
PhiloGL v1.4.3 136KB Тыц Тыц Тыц Тыц
WebGLU - 178KB Тыц Тыц Тыц -
xeoEngine v0.1.0 224KB Тыц Тыц Тыц Тыц
SceneJS v4.2.1 242KB Тыц Тыц Тыц Тыц
CubicVR.js v0.2.1 347KB Тыц Тыц Тыц Тыц
three.js r71 419KB Тыц Тыц Тыц Тыц
SpiderGL v0.2.0 498KB Тыц Тыц Тыц Тыц
Babylon.js v2.1 814KB Тыц Тыц Тыц Тыц

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

Библиотека Версия Размер Выбираем библиотеку для работы с WebGL - 5 Выбираем библиотеку для работы с WebGL - 6 Выбираем библиотеку для работы с WebGL - 7 Выбираем библиотеку для работы с WebGL - 8
lightgl.js - 72KB Тыц Тыц Тыц Тыц
Processing.js 1.4.13 223KB Тыц Тыц Тыц Тыц
p5.js v0.4.13 236KB Тыц Тыц Тыц Тыц
three.js r71 419KB Тыц Тыц Тыц Тыц
Babylon.js v2.1 814KB Тыц Тыц Тыц Тыц
AwayJS v0.4.31 1,008KB Тыц Тыц Тыц Тыц

Разумеется, процедурная геометрия — это далеко не всё, что вам понадобится в работе, однако из данной серии примеров также можно усвоить общие принципы работы с тем или иным API, и составить собственное проинформированное мнение ещё до того, как начать что-либо делать.

Автор: makc3d

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js