Выбор методологии
Автор выбрал методологию сравнительного анализа на единой базовой сцене в фиксированном окружении (Unity 6000.2.15f1, URP).
Описание конвейера и типов шейдеров опирается на литературу и документацию [15, 16].
Для каждого подхода задается фиксированный набор метрик. По очереди к базовой сцене применяется один шейдерный подход: его работа описывается (в разделе «Результаты»), результаты замеряются и сравниваются с базовой сценой. На заключительном этапе формируется гибридная сцена, объединяющая несколько подходов, и проводится её оценка по тем же метрикам.
Такой подход позволяет сопоставлять техники в контролируемых условиях и формулировать рекомендации по выбору и комбинированию шейдеров для подобных систем.
Ограничения методологии
Платформа и воспроизводимость: замеры выполняются на одном ПК (NVIDIA GeForce RTX 3080, Intel Core i9–11900KF, 32 GB RAM, Samsung SSD 980 1 TB). На другом устройстве абсолютные значения метрик и воспроизводимость результатов могут отличаться
Работа выполняется в Unity 6000.2.15f1 с Universal Render Pipeline (URP), ОС Windows 10.0.19045. Совместимость и ограничения URP задаются документацией движка [16]
Объект исследования в работе в качестве примера деформируемых поверхностей взят только деформируемый снег. Обобщение на грязь, песок, опавшие листья или глобальный террейн в данной работе не обосновывается
Mesh-шейдеры: исследование данного подхода носит только теоретический характер. Включение в практическое сравнение зависит от поддержки платформы. В данном исследовании практическая реализация mesh-шейдеров опущен/
Критерии «идеальной сцены» (образ будущего)
Задание критериев идеальной сцены трактуется как «идеализация» и построение «образа будущего» целевого состояние системы, [17, 18] базовая сцена с фиксированными критериями выступает «моделью» для сопоставления подходов.
Идеализация позволяет сформулировать нормативный ориентир, выделив ключевые параметры системы в чистом виде [17]. Однако для проверки реалистичности этих ориентиров требуется обращение к референсам — существующим аналогам и практикам, которые служат эмпирической базой для верификации и уточнения критериев.
Критерии заданы для последующего сравнения походов и заполнения сводной таблицы в разделе «Результаты».
Функциональные критерии
Деформация от ходьбы — следы от движения игрока, восстанавливающийся со временем (исчезновение следов)
«Read dead redemption 2», Rockstar Games, 2018
Уборка снега инструментом — снег исчезает в зоне действия инструмента;
«Farming-Simulator-25», Giants Software, 2024
Отсутствие стыков — визуально и на стыках мешей/текстур не должно быть заметных швов и резких переходов
«Horizon Forbidden West „, Guerrilla Games, 2022
Технические критерии
- FPS — показатель среднего количества кадров в секунду должен быть не менее 60 со всеми эффектами на сцене
- FPS 1% low — перцентиль по худшим 1% кадров, переведённый в FPS характеризует плавность и редкие просадки
- Batches — число пакетов отрисовки за кадр (в Unity объединяют draw calls с одинаковым состоянием)
- Draw calls — число вызовов отрисовки за кадр
- Verts — число вершин, отрисовываемых за кадр
Визуальные критерии
- Реалистичность снега и деформаций
- Чёткость следов и зоны уборки
- Отсутствие пикселизации и резких переходов
Базовая сцена
Задание критериев идеальной сцены трактуется как «идеализация» и построение «образа будущего» целевого состояние системы, [17, 18] базовая сцена с фиксированными критериями.
Геометрия сцены включает опорную поверхность, на которой лежит снег. Снег на этой сцене реализован как множество отдельных игровых объектов, у каждого: коллайдер, Rigibody и скрипты, обеспечивающие взаимодействие с персонажем и инструментом.
Такая схема задаёт единую физическую и визуальную основу, на которую по очереди накладываются шейдерные подходы.
Назначение базовой сцены — служить точкой отсчёта: на ней по очереди применяется по одному шейдерному подходу, после чего замеряются метрики и визуал и выполняется сравнение с базой
(изображение базовой сцены)
Подходы, сравниваемые в исследовании
- пиксельные шейдеры (pixel/fragment);
- вершинные шейдеры (vertex);
- тесселяция (hull + domain shaders);
- геометрические шейдеры (geometry);
- вычислительные шейдеры (compute);
- mesh-шейдеры (mesh);
Ограничение области главы
Прежде чем перейти к описанию отдельных реализаций, целесообразно зафиксировать общую схему последовательности этапов рендера в контексте Universal Render Pipeline (URP)
Схема последовательности конвейера отрисовки, с уточнением положения используемых шейдеров
Стоит отметить, что Mesh Shaders логически относятся к geometry (GPU), т. к. это новая программируемая стадия обработки геометрии на GPU.
А Compute Shaders формально не входят в классический графический конвейер (они не стоят ни между geometry и rasterization, ни внутри rasterization).
Их правильнее описывать как параллельную ветку вычислений на GPU, которая может подготавливать данные до geometry (например, генерировать/обновлять меши, карты высот, буферы с параметрами) или обрабатывать результаты после pixel processing (post‑processing, доп. эффекты, подготовка данных к следующему кадру).
Обоснование выбора
Охват основных программируемых стадий конвейера и compute. Тесселяция и compute добавлены как ключевые в литературе по деформируемому снегу [16, 11, 19]. Для обоснования типов шейдеров использованы: учебная литература по конвейеру [8], описание стадий Direct3D 11 [15, 20], материалы по mesh-шейдерам [6] и специализированная работа по снегу [11]



