Основа —

Future is web based

Технология

Основу технологической платформы WGT, разрабатываемой в настоящий момент времени (при поддержке Фонда содействия инновациям, www.fasie.ru), составляют:

Собственные методы описания 3D-моделей
Высокопроизводительные алгоритмы рендеринга 3D-сцен в web-среде (WebGL API)
Дополнительные компоненты распределенной поддержки рендеринга (клиент-сервер)
Широкий спектр готовых библиотек и фрэймворков для создания функциональных интерфейсов пользователя

Состав пользовательской платформы подразумевает полнофункциональную среду разработки (IDE), обеспечивающую необходимый инструментарий для загрузки исходных 3D-моделей (с преобразованием формата представления), программирования функциональных пользовательских интерфейсов и публикации итогового web-приложения на сервере (по заданному URL).

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

Доступ к таким web-приложениям может осуществляться с любого современного desktop- или мобильного устройства (смартфоны, планшеты и ноутбуки и пр.) в многопользовательском режиме.

При необходимости отображения сложных 3D-сцен с большим количеством объектов предусмотрено опциональное подключение серверных компонентов поддержки рендеринга (требуют канал связи с сервером при минимальных требованиях к его пропускной способности и устойчивости).

Методы описания 3D

Технологическое решение WGT предполагает использование собственного представления (формата) 3D-моделей, формируемого аналитически на базе исходных 3D-данных и обеспечивающего его оптимизацию для последующего процесса его отрисовки (рендеринга) в условиях web-среды.

Это обеспечивается реализацией целого комплекса аналитических процедур, основной из которых является аллотропная кластеризация описываемых объектов (инстанцирование). Она позволяет разбить трехмерные объекты на иерархические группы схожих геометрических фрагментов/форм и реализовать их оптимальное представление и предподготовку для целей рендеринга.

Полученный формат представления 3D-моделей является более компактным (важно для web-среды), а также позволяет снизить затраты по отрисовке (рендеринге) итоговой 3D-сцены, описанной в следующем блоке.

Алгоритмы рендеринга

Программные решения WGT по отрисовке (рендерингу) 3D-сцены реализуются на базе стандартных методов WebGL API по управлению графическим конвейером (шэйдеры) с организацией параллельных (многопоточных) вычислений и отрисовок на GPU.

Используемые алгоритмы основаны на наиболее эффективных техниках отрисовки 3D-сцен и методах ее ускорения (инстансинг, выбраковка невидимых объектов и пр.), что с учетом структуры используемого 3D-формата (описан выше) обеспечивает высокую скорость отрисовки даже на малопроизводительных устройствах.

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

Компоненты поддержки

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

Основная функция поддержки — снизить нагрузку на клиентское устройство путем минимизации вычислений (прогрессивная детализация), либо их частичного смещения на серверную сторону (распределенные вычисления при подготовке шэйдерных буферов и пр.).

Данные компоненты изначально полностью интегрируемы с основным программным блоком и требуют минимальной ширины и устойчивости канала связи (минимальный трафик).