Home

Awesome

guc-tests

This is the test suite for guc, a glTF to USD converter.

For test-specific information, please see the Graphical Test Overview.

Local setup

  1. Build and install USD v24.05 with this patch and following flags:
    --materialx --openimageio --opencolorio --build-args OpenImageIO,"-DOIIO_BUILD_TOOLS=ON"
  2. Build guc in Debug configuration with the Sdf plugin enabled, add the <build>/bin folder to your PATH
  3. Execute bash run_tests.sh

The script accepts a filter of the form <ALLOWED_REGEX>-<DISALLOWED_REGEX>.

Note on intended usage

The reference images in this suite have been generated by an Apple MacBook Air M3 (2024). Due to GPU-vendor specific differences (e.g. implementation of rasterization) and the different GPU APIs used by Storm (Metal, OpenGL, Vulkan), images generated from other devices are likely not identical.

Comparison thresholds can be adjusted to account for variance, however choosing ideal parameters is not obvious. Therefore, in order to determine the impact of code changes, it is recommended to first generate device-specific reference images in a separate branch. Changes are then evaluated against the local baseline.

Environment variables

Test execution can be influenced using following variables:

NameDescription
GT_DISABLE_CONVERSIONDisable glTF to USD conversion. This option reduces test execution time when debugging the MaterialX glTF PBR implementation or hdStorm.
GT_DISABLE_GRAPHICALDisable all graphical tests
GT_DISABLE_GRAPHICAL_MTLXDisable MaterialX graphical tests
GT_DISABLE_GRAPHICAL_PREVIEWDisable UsdPreviewSurface graphical tests
GT_VERBOSEPrint all executed commands

Continuous integration

Tests can be executed on the CI, via guc's GitHub Actions workflow.

Note: graphical test execution on the CI is not advised due to long execution times and rendering artifacts.