WebGL Framework - что является лучшим выбором? X3DOM? - PullRequest
4 голосов
/ 05 декабря 2011

Я собираюсь запустить веб-приложение, которое будет использовать интерактивный 3D-контент. Цель состоит в том, чтобы позволить ему работать в браузере, т.е. Flash не разрешен, только JavaScript + HTML5.

Помимо использования чистого WebGL, лучше использовать библиотеку, которая предложит интерфейс более высокого уровня.

Подход X3DOM выглядит великолепно для меня - и похоже, что он должен стать нативным в браузере, а lib проложит дорогу.

Но после моих первых впечатлений я не уверен, что он достаточно легкий. Помимо JS-файла размером 400 КБ, он замедляет работу Firefox.

Нужных мне функций не так много. Вся сцена может быть легко сделана «рукой». Но мне нужно взаимодействие с пользователем, в том числе, чтобы выяснить, где пользователь нажимает. А позже я хочу иметь возможность загружать и вставлять 3D-объекты в общий формат файла.

PS: Браузеры на выбор - Firefox и Webkit. Настольные и мобильные. Мне плевать на IE.

PPS: Да, я знаю вопрос: WebGL Framework

Ответы [ 3 ]

5 голосов
/ 05 декабря 2011

X3DOM - это замечательно, если вы пришли из X3D-фона (разработанного великими людьми), но если у вас нет предпочтений, то Three.JS будет моим выбором.

4 голосов
/ 21 февраля 2012

Я смотрел на большинство фреймворков WebGL только на прошлой неделе, и кажется, что почти каждый из них находится в диапазоне 300 кБ. Это слишком тяжело для меня тоже. К счастью, я нашел lightgl.js , в котором есть все необходимое для начала работы в 28 КБ, лицензия MIT.

Главное для меня - просто абстракция инициализации canvas, shader и texture. Но lightgl.js также имеет некоторую обработку мыши и загрузка модели и т. Д.

2 голосов
/ 27 декабря 2012

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

x3dom: использование x3d для описания сцены дает более дизайнерский подход, причем толькодобавив x3dom css и js, можно сделать это:

<X3D><Scene><Shape><Box/></Shape</Scene></X3d>

three.js: позволяет генерировать сцены только через javascript, и много дополнительного кода необходимо только для настройки холста.посмотрите исходный пример этого простого блока: http://stemkoski.github.com/Three.js/Template.html

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

...