3d графика для веб-приложений - PullRequest
3 голосов
/ 19 ноября 2008

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

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

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

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

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

Спасибо !!

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

Ответы [ 10 ]

4 голосов
/ 19 ноября 2008

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

Взгляните на Java 3D

4 голосов
/ 19 ноября 2008

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

3 голосов
/ 04 июня 2009

Также отличный от Google, но новый O3D: http://code.google.com/apis/o3d/

2 голосов
/ 09 июля 2010

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

1 голос
/ 22 ноября 2008

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

Существует также Firefox Canvas 3D Addon и Canvas 3d JS Library для написания 3D-приложений с использованием его.

1 голос
/ 19 ноября 2008

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

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

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

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

0 голосов
/ 10 июля 2010

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

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

0 голосов
/ 09 июля 2010

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

0 голосов
/ 24 декабря 2009

Еще один вариант Java, менее интегрированный с JVM, но основанный на OpenGl - lwjgl (мой любимый) а также JOGL .

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

0 голосов
/ 19 ноября 2008

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...