Skip to content

Latest commit

 

History

History
54 lines (38 loc) · 9.6 KB

studio-rendering.ru.md

File metadata and controls

54 lines (38 loc) · 9.6 KB

Проверка рендеринга Studio

Английская версия | Подготовка контента | Процедуры захвата

Проверки в работающем движке выполняет разработчик в установленной игре. Для каждого наблюдения сохраняются ревизия исходников, установленные DLL, сцена или демо, графические настройки, настройки материалов и режим монитора. Результаты сборки и тестов с отдельным GL-контекстом учитываются отдельно.

Подготовьте измененные библиотеки, использующие их модули и необходимые ресурсы из одной ревизии с одинаковыми настройками сборки. Сверьте хеши копий по процедуре установки и проверки фабрики.

Проверочные сценарии

Карта studio_test предназначена для проверки флагов, оболочек, перекраски, освещения и повторяющихся моделей. Чтобы проверить порядок отрисовки других сочетаний объектов, подготовьте карту или демозапись, где эти объекты видны одновременно.

Сценарий Ожидаемый результат
Флаги текстур Меши plain, flatshade, chrome, chrome-flat, masked и additive сохраняют требуемое освещение, альфу и работу с глубиной. Различие fullbright учитывается отдельно ниже.
Glow shell Базовый проход рисуется перед оболочкой. Оболочки сохраняют заданное расширение, красный и синий цвета. Оболочка не должна менять цвет следующего объекта.
Свет сущностей и сцены Модели в темной нише реагируют на доступное освещение. r_studio_dump <name> lit ожидает кадр с источником света сущности.
Носимое оружие Оружие от первого лица и оружие в руках других игроков сохраняет внешний вид, позу и точки крепления.
Перекраска текстуры Движковый и шейдерный пути выбирают одну и ту же перекрашенную базовую текстуру для заданного colormap.
Порядок непрозрачных моделей Порядок Studio/brush/Studio сохраняется при r_studio_queue 0 и 1.
Порядок прозрачных моделей Сравните перекрывающиеся прозрачные и аддитивные Studio-модели при r_studio_queue 0 и 1, включая спрайты и другие типы моделей. Порядок объектов, цвета и анимация должны оставаться правильными. Воспроизведите один участок демозаписи по три раза на каждой сборке с одинаковыми настройками и отключенным подключением Tracy.
Прозрачность Прозрачные объекты, меши masked/additive и оружие от первого лица сохраняют внешний вид и не влияют на цвета и видимость соседних объектов.
Материалы При закрытом редакторе клиент выбирает серверную привязку, затем документ модели, затем встроенный материал. Активный сеанс редактирования временно заменяет выбранный материал для своей цели. Значения параметров разных сущностей остаются независимыми.
Туман Сравните движковый и шейдерный пути, погрузив камеру под воду. Туман должен одинаково влиять на модели и окружающую карту. Отдельно сохраните несоответствие тумана, не объединяя его с различиями освещения и fullbright.
Эффекты материалов Проверьте три режима обводки, подкраску скрытых поверхностей, свечение, растворение, шумовую прозрачность и глитч по сценариям сцены материалов. Повторите в оконном и полноэкранном режимах с MSAA «Выкл.» и «4x».
Повторяющиеся модели Выполните процедуру сравнения с одинаковыми сценами и настройками. Позы, материалы и порядок объектов должны оставаться неизменными. Сравните счетчики рендеринга и измеренное время CPU/GPU.

Оценка изображений

Захватите неподвижную сцену командой r_studio_ab flags. Из корня репозитория сравните полученные файлы. Замените <gamedir> игровым каталогом, в котором сохранены снимки:

python tools/radar_tests/imgdiff.py "<gamedir>/flags_off.tga" "<gamedir>/flags_on.tga" --clusters --out flags_diff.png

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

Проверяйте общую долю различающихся пикселей и отчет --clusters. Плотные области с преимущественным изменением яркости в одном направлении требуют проверки, даже если общая доля укладывается в допуск. Небольшие различия на силуэтах могут возникать из-за точности вычислений CPU/GPU. Движение, анимация, изменение освещения, оборудование и разрешение также влияют на сравнение. Сохраняйте изображения и диагностические дампы вместе с результатом.

r_studio_dump показывает путь к модели, имя из ее файла, использованный рендерер, флаги и параметры материалов. Имя внутри файла может отличаться от его пути. Если модель нарисовал штатный движок, в дампе указана причина, по которой ее не нарисовал NextClient.

Автоматические проверки

Соберите затронутые цели в тестовой конфигурации x86, затем выполните их зарегистрированные сценарии CTest.

Цели Назначение
studio-capture-gl-tests Изображение моделей, материалы, эффекты, группировка и рендеринг после изменения ресурсов.
studio-pose-tests, studio-effect-bounds-tests Согласованность поз и экранная область влияния эффектов.
studio-phase-capture-tests Диапазоны захвата, полнота и экспортируемые результаты.
renderer-lifecycle-tests, material-lifecycle-tests Поведение при сбросе и завершении работы.
scene-preview-gl-tests Изображение предпросмотра и восстановление после изменения графики.

GL-тестам нужен подходящий контекст; для подтверждения рендеринга они должны пройти без пропусков. Платформенные проверки выполняются на каждой затронутой платформе. Эти тесты дополняют наблюдения разработчика в установленной игре; изображение и производительность требуют описанного выше сравнения фиксированных сцен.