|
|
Даты проведения с 2025-08-01 по 2025-10-01 |
Данный проект исследует возможность создания интерактивного редактора для построения трёхмерных сцен на основе трассировки лучей с шаговым методом в браузерной среде. Целью работы являлась реализация платформы, позволяющей в реальном времени редактировать сцены любой сложности и мгновенно видеть результат.
Архитектурно проект разделён на три ключевых компонента. Клиентская часть, созданная
с использованием TypeScript и библиотеки React, предоставляет удобный и современный
интерфейс для интерактивного управления параметрами сцены и обеспечивает сетевое
взаимодействие. Сцена редактируется пользователем с помощью удобного интерфейса в
виде набора блок-схем. Каждая схема представляет собой настраиваемую фигуру,
материал, источник света или операцию, с помощью которых проектируется сцена для
отображения. Общие параметры сцены, такие как: наличие теней, фон, уровень
сглаживания – настраиваются в общем меню сцены. Шаблоны сцен можно сохранять,
редактировать и обмениваться с другими пользователями.
Серверная часть, построенная на платформе NestJS, отвечает за хранение сложных
структур данных сцен, обеспечивает их сохранность и организует возможность
многопользовательского взаимодействия. Пользователи могут сохранять свои работы,
возвращаться к их редактированию и обмениваться своими творениями внутри
платформы. Клиентский профиль может быть общедоступным, ограниченным или
приватным. В зависимости от настроек конфиденциальности, другие пользователи могут
оценивать работы и оставлять комментарии.
Ядром системы является высокопроизводительный графический конвейер, разработанный
с применением браузерного API WebGPU. Этот низкоуровневый интерфейс даёт
возможность напрямую задействовать вычислительные мощности видеокарты для
максимального быстродействия. Для визуализации используется не классический
полигональный метод, а алгоритм трассировки лучей с шаговым методом. Этот подход
позволяет работать с параметрическими фигурами, описываемыми математическими
функциями, и комбинировать их практически любыми способами для получения
бесконечно сложных и гладких поверхностей, недоступных традиционным техникам.
В рамках данной работы была успешно реализована концепция интерактивного веб
редактора для создания и редактирования трёхмерных сцен в реальном времени. Таким
образом, в ходе работы была доказана принципиальная возможность построения
интерактивных браузерных графических редакторов. Разработанная платформа обладает
значительным потенциалом для применения в сферах дизайна и цифрового искусства,
позволяя пользователям легко создавать, сохранять и обмениваться сложными
визуальными композициями.