2011-12-24 4 views
2

У меня есть база данных трехмерных моделей. Я хочу, чтобы пользователь мог повернуть модель и просмотреть ее на веб-странице. Так что я должен реализовать алгоритм мгновенного рендеринга для этого., который рендеринг должен использовать в веб-проекте

Метод raytracing/raycasting на CPU предпочтительнее, поскольку на нем нет GPU.

Я понимаю, что луч-луч только лучей с SSE и KD-Tree/BVH может быть очень быстрым. Кроме того, я хочу добавить некоторый эффект GI (эффект фальшивого GI может быть также для меня, например, SSAO).

Насколько я могу достичь?

(некоторые методы рендеринга NPR также значительные)

+0

«так как на нем нет GPU» - я не понимаю, насколько это важно, поскольку вы будете делать WebGL, который полностью основан на клиенте. –

+0

Я думаю, что 3D-модели хранятся на сервере, и webgl не может использовать его, не загружая вершину моделей на стороне клиента (правильно ли я?). В результате я хочу сделать рендеринг на сервере. –

+0

Если вы хотите визуализировать 3D-объекты в режиме реального времени, не отправляя вершины клиенту, вы хотите сделать что-то, что почти невозможно, поскольку для этого требуется видеопоток в реальном времени с сервера на клиент. –

ответ

0

В HTML5, вы можете визуализировать 3D-объекты с WebGL (реализацией OpenGL) с некоторым JavaScript. Проблема в том, что WebGL - это клиентская технология. Поэтому весь рендеринг выполняется браузером.

Существует одно возможное решение, если вы действительно хотите распространять некоторую логику на сервере. Вы можете использовать серверный язык и отправлять вершины клиенту через некоторые транзакции базы данных. После этого ваш сайт может сделать некоторые вызовы AJAX на сервере, которые будут выполнять определенные операции на сервере и возвращать некоторые вершины. Единственная проблема заключается в том, что для этого может потребоваться большая пропускная способность.

В противном случае другим решением было бы использовать такой инструмент, как Unity, чтобы создать то, что вы хотите. Затем вам нужно будет встроить Unity Player на свою веб-страницу.