# glTF-Render-Fidelity-Generator **Repository Path**: mirrors_KhronosGroup/glTF-Render-Fidelity-Generator ## Basic Information - **Project Name**: glTF-Render-Fidelity-Generator - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-03-01 - **Last Updated**: 2026-02-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Render fidelity tools This package contains tools and testing processes to ensure high-fidelity 3D model rendering as well as compare rendering qualities across renderers. See the public fidelity comparisons [page](https://github.khronos.org/glTF-Render-Fidelity/comparison/), or `test/results-viewer.html` if running this package locally. ## Development In order to run `npm run render-goldens`, you must have `imagemagick` installed. On macOS, you can install `imagemagick` with homebrew: `brew install imagemagick` On Debian/Ubuntu/Pop!_OS you can install `imagemagick` with `apt`: `sudo apt install imagemagick` The following commands are available when developing modelviewer.dev: Command | Description ------------------------------- | ----------- `npm run build` | Build artifacts required to run testing and review tools `npm run clean` | Deletes all build artifacts `npm run test` | Run a render fidelity check comparing `` to other renderers `npm run render-goldens` | Render the "golden" images for all renderers ### Fidelity Test CLI For `npm run test`, we support these command line options: Command | Default | Description --------------------|----------- | ----------- -c, --config | | Path to configuration json. -r, --renderer | model-viewer | The renderer to fidelity test, must be a web-based renderer. -s, --scenario | | Limit to specific scenarios. This now also allows you to specify multiple scenarios in the whitelist. You can use a full name or a partial name of scenarios and it will match against all that contain that scenario substring. -p, --port | 9040 | Port for web server. -d, --dry-run | false | Lists which images would be rendered but doesn't render. Useful when trying to figure out which tests will run given that command line. -q, --quiet | false | Hide the puppeteer controlled browser. This can allow you to work on the computer while it is running in the background. To run a subset of scenarios do something like this: ``` % npm run test -- --scenario=texture --quiet ``` *NOTE: In the above example, the `--` is required to separate the arguments to `npm run test` from the arguments to the script itself.* After running `npm run test`, you can look at the results by starting a local web server (e.g. `npx http-server`) in this folder, then opening `test/results-viewer.html` in a browser. ### Render Goldens CLI For `npm run render-goldens`, we support these command line options: Command | Default | Description --------------------|----------- | ----------- -c, --config | | Path to configuration json. -r, --renderer | | Limit to specific renderers. This now allows you to specify multiple renderers in the whitelist, rather than only one. -s, --scenario | | Limit to specific scenarios. This now also allows you to specify multiple scenarios in the whitelist. You can use a full name or a partial name of scenarios and it will match against all that contain that scenario substring. -p, --port | 9040 | Port for web server. -m, --missing-only | false | Only render if an output image is missing. Very useful when adding new tests. -d, --dry-run | false | Lists which images would be rendered but doesn't render. Useful when trying to figure out which tests will run given that command line. -q, --quiet | false | Hide the puppeteer controlled browser. This can allow you to work on the computer while it is running in the background. To run a subset of renders or scenarios do something like this: ``` % npm run render-goldens -- --renderer=filament --renderer=model-viewer --scenario=clearcoat -q ``` *NOTE: In the above example, the `--` is required to separate the arguments to `npm run render-goldens` from the arguments to the script itself.*