Skip to content

Latest commit

 

History

History
17 lines (11 loc) · 2.74 KB

matgen.ru.md

File metadata and controls

17 lines (11 loc) · 2.74 KB

Регрессионные проверки matgen

Английская версия

Соберите matgen, затем запустите три отдельных теста ниже через Python 3, указав путь к исполняемому файлу. Каждый тест использует только стандартную библиотеку Python, создает модели во временном каталоге и удаляет результаты после завершения.

python tools/matgen/tests/repeat_test.py out/bin/Release/matgen.exe
python tools/matgen/tests/reference_pose_test.py out/bin/Release/matgen.exe
python tools/matgen/tests/output_collision_test.py out/bin/Release/matgen.exe

Первый тест проверяет, что UV-шаблоны и карты износа правильно повторяются по горизонтали и вертикали, в том числе при отрицательных и предельных координатах и при исходной текстуре размером в один пиксель. Перенос развертки на целое число повторов не должен менять изображение. Отдельный случай проверяет время обработки текстуры 2x2 для карты 2048x2048. Каждый запуск matgen ограничен 30 секундами.

Второй тест проверяет, что разное устройство скелета не меняет карту износа, если геометрия модели в исходной позе одинакова. Полученные изображения должны совпадать пиксель в пиксель. Также проверяются имена выходных файлов UV и карт износа: обычные имена текстур, имена с недопустимыми символами и пустые имена.

Тест конфликтов имен выходных файлов создает две записи текстур с отдельными мешами и привязками скинов. Он проверяет замену недопустимых символов, регистр ASCII, пустые имена и пропуск неиспользуемых текстур при запекании кромок. При конфликте имен команда должна явно сообщить об ошибке до замены существующего файла или записи другого PNG. Две карты кромок с разными именами должны содержать геометрию.