3D-графика для веб-приложения

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

  • Загрузка 3D-модели из базы данных.
  • Отображение 3D-модели.
  • Выполнение вычислений обратной кинематики для создания серии шагов для перемещения модели из начального положения в конечное.
  • Отображение анимации в реальном времени.

Первоначально предполагалось, что это приложение будет приложением для ПК на Qt/OpenGL, но мы изучаем возможность его реализации в виде веб-приложения.

Мои познания в веб-разработке все еще ограничены.

Каким будет рекомендуемый подход/технология, чтобы найти решение для этого?

Спасибо!!

Обновление: предпочтительны независимые от платформы решения. Приложение должно работать на компьютерах Mac и Windows.


person user38903    schedule 19.11.2008    source источник


Ответы (10)


Если это веб-приложение, вам следует обратиться к Papervision3D (http://papervision3d.org/) для Flash- основанный на подходе (это было бы так, если бы вы хотели, чтобы он был относительно независимым от платформы).

person pilsetnieks    schedule 19.11.2008

Апплет Java, вероятно, тоже будет делать то, что вы хотите.

Взгляните на java 3d.

person Omar Kooheji    schedule 19.11.2008


webgl также является интересной альтернативой. никаких плагинов, только opengl в браузере (включая шейдеры).

person 6502    schedule 09.07.2010

Ну, вы, конечно, не можете сделать все это в HTML, так что это вопрос выбора технологии плагинов.

На мой взгляд, лучше всего использовать Flash, так как это зрелая платформа с множеством сторонних расширений (например, http://www.flashsandy.org/), чтобы вы могли выполнять 3D-моделирование.

Другой альтернативой является Silverlight, который даст вам возможности .NET/C# (а не сценарии).

Оба являются кроссплатформенными и кроссбраузерными.

person Tor Haugen    schedule 19.11.2008

Canvas и JavaScript могут отображать его, в зависимости от сложности вашей 3D-модели. См. этот пример Canvas 3D

Также есть аддон Firefox Canvas 3D и Библиотека Canvas 3d JS для написания 3D-приложений с ее использованием.

person Sam Hasler    schedule 22.11.2008

Существует ряд подходов к этому. Некоторые, которые приходят мне на ум:

  • подумайте о том, чтобы доставить его как компонент ActiveX (самый быстрый, но только для Win32).
  • рассмотрите возможность использования .NET (Silverlight) (Win32, OSX, *nix в обозримом будущем через Moonlight; только DirectX/Direct3D)
  • подумайте об использовании Java, которая также может получить доступ к OpenGL.
  • рассмотрите возможность использования любого промежуточного звена, с которым вы столкнетесь... их должно быть десятки.

Проблемой, вероятно, будет переносимость. Здесь есть два предостережения: ваш код должен выполняться везде, и ему требуется 3D-ускорение. Это проблема, потому что вы не можете быть уверены, что это будет 3D (конечно, вы можете запросить свой контекст).

Следовательно, вы также можете рассмотреть возможность растеризации и рендеринга на процессоре (например, с использованием MESA3D). Если вам не нужно разрешать преобразования произвольной формы и вы хотите анимировать, скажем, 30 кадров, а с помощью Mesa вы могли бы отрендерить 5 кадров в секунду на типичной модели на типичном оборудовании, вам потребуется 6 секунд для расчета всей сцены. Этого будет достаточно.

person mstrobl    schedule 19.11.2008
comment
ActiveX не только для Win32, но и только для IE. - person pilsetnieks; 22.11.2008

Другой вариант Java, менее интегрированный с JVM, но основанный на OpenGl — lwjgl (мой любимый) и jogl.

Проверьте веб-сайт Jake2: http://bytonic.de/html/jake2_webstart.html

person Liran Orevi    schedule 24.12.2009

Adobe Shockwave обладает мощными возможностями 3D-моделирования. К сожалению, в настоящее время он недостаточно поддерживается, но Flash не имеет 3D-функций (проект papervision3d пытается исправить это, YMMV).

person Scott Stafford    schedule 09.07.2010

Я согласен с другими, что Flash, вероятно, ваш лучший выбор. Если есть опасения по поводу работы на мобильных устройствах Apple в будущем, а стоимость не имеет значения, рассмотрите возможность разработки чего-либо с помощью Unity. Это плагин (как и Flash), но он не вызвал гнева Стива Джобса.

http://unity3d.com/gallery/developer-profiles/web-games/< /а>

person ThatSteveGuy    schedule 09.07.2010