Описание задачи: Прототип системы серверного рендеринга 3D-моделей Цель: Разработать концепт-прототип системы серверного рендеринга для визуализации 3D-контента. Прототип послужит основой для дальнейшей разработки системы и поможет определить ключевые требования к будущей архитектуре. Приведенные ниже требования описаны для прототипа, однако стоит помнить, что в перспективе это расширяемый проект с большим кол-вом пользователей, большими мощностями, с более сложной системой показа 3д, и с большими объёмами самого 3д. Общая концепция • Визуализация 3д на нескольких станциях с помощью системы серверного рендеринга. • Один сервер отвечает за обработку и рендеринг изображений. • Множество клиентских станций подключаются к серверу по сети и получают рендеринг по запрашиваемой области. • Сервер выполняет всю вычислительную работу, создаёт итоговые изображения и отправляет их клиентам. Данные для тестирования (предоставляются) https://disk.yandex.ru/d/Et9ebMkfTHerfQ • Тестовая сцена Blender - одна готовая сцена в формате .blend для проверки рендеринга • Объект для инстанцирования - один 3D-объект, который должен быть размножен в сцене до 10000 экземпляров для демонстрации производительности системы Функциональные требования 1. Серверная часть • Предпочтительней Java, возможно go • Загрузка 3д-файлов • Рендеринг 3D-сцены в реальном времени • Базовое управление камерой • Система стриминга рендера на клиенты (видеопоток) • Обработка запросов от нескольких клиентов одновременно • Поддержка инстанцирования объектов (размножение предоставленного объекта до 1000 экземпляров) 2. Клиентская часть • Предпочтительней tree.js • Подключение к серверу и отображение видеопотока • Интерфейс для базового управления камерой • Индикация состояния подключения и загрузки 3. Коммуникация и производительность • Задержка "действие-отображение": не более 100 мс • Поддержка разрешения 1920x1080 на клиентах • Простая система аутентификации/идентификации сессий • Возможность одновременной работы 5 пользователей Ожидаемый результат: Должны быть предоставлены две рабочие версии прототипа, демонстрирующие ключевые сценарии: • Версия 1 стабильно отображает предоставленную сцену Blender на 5 клиентах с управлением камерой и задержкой ≤100 мс, обеспечивая плавный рендеринг (≥30 FPS). • Версия 2 загружает один 3D-объект, создает сцену с 1000 его экземпляров и поддерживает интерактивный рендеринг для 5 клиентов.