diff --git a/.gitignore b/.gitignore index 96588a98ad..fea634af6c 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ lib/* fidelity/* test/fidelity/results/* examples/built/* +examples/assets/glTF-Sample-Models **/*.sw* .DS_Store .idea diff --git a/.travis.yml b/.travis.yml index 2bdffc1c87..7fd5c2a5f0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,6 +19,7 @@ script: - ./scripts/ci-run-tests.sh cache: directories: + - examples/assets/glTF-Sample-Models - node_modules after_success: - npm run check-fidelity diff --git a/README.md b/README.md index bec9b3d8ed..741fb4c7ce 100644 --- a/README.md +++ b/README.md @@ -275,6 +275,7 @@ The following npm scripts are available: * `npm test` - Runs tests. * `npm run check-fidelity` - Compare rendering to third-party renderers * `npm run install-renderers` - Install or update third-party renderers +* `npm run checkout-samples` - Create or update a local copy of sample models. This is needed for running fidelity checks and updating screenshots. * `npm run update-screenshots` - Take screenshots of fidelity tests using third-party renderers ## Examples diff --git a/package.json b/package.json index 83864ab33e..9ba48b4530 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ "clean": "rm -rf ./lib ./dist", "build": "tsc && rollup -c", "create-legacy-bundles": "node ./scripts/create-legacy-bundles.js", + "prepare": "npm run checkout-samples", "prepublishOnly": "npm run build && npm run create-legacy-bundles", "test": "npm run clean && npm run build && npm run wct-local-chrome", "wct-local-chrome": "wct --config-file test/wct-local.conf.json -l chrome", @@ -41,6 +42,7 @@ "compare-fidelity": "./scripts/compare-fidelity-to-ref.sh", "install-renderers": "./scripts/install-third-party-renderers.sh", "update-screenshots": "node ./scripts/update-screenshots.js", + "checkout-samples": "./scripts/checkout-khronos-gltf-samples.sh", "serve": "ws", "dev": "concurrently \"npm run watch\" \"npm run serve\"", "watch": "cross-os x-watch", diff --git a/scripts/checkout-khronos-gltf-samples.sh b/scripts/checkout-khronos-gltf-samples.sh new file mode 100755 index 0000000000..9b76d404fa --- /dev/null +++ b/scripts/checkout-khronos-gltf-samples.sh @@ -0,0 +1,43 @@ +#!/bin/bash + +## +# Copyright 2019 Google Inc. All Rights Reserved. +# Licensed under the Apache License, Version 2.0 (the 'License'); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an 'AS IS' BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +## + +# This script is responsible for cloning and / or updating the local repository +# of Khronos glTF sample models + +REPO_URL=https://github.com/KhronosGroup/glTF-Sample-Models.git +CLONE_PATH=./examples/assets/glTF-Sample-Models + +if [ ! -d "$CLONE_PATH/.git" ]; then + git clone $REPO_URL $CLONE_PATH +fi + +pushd $CLONE_PATH +ORIGIN_URL=`git config remote.origin.url`; + +if [ -z "$ORIGIN_URL" ]; then + git remote add origin $REPO_URL +else + if [ ! "$REPO_URL" == "$ORIGIN_URL" ]; then + git remote rm origin + git remote add origin $REPO_URL + fi +fi + +git fetch origin +git reset --hard origin/master + +popd diff --git a/scripts/install-third-party-renderers.sh b/scripts/install-third-party-renderers.sh index e69787c55a..523c86aaef 100755 --- a/scripts/install-third-party-renderers.sh +++ b/scripts/install-third-party-renderers.sh @@ -87,7 +87,7 @@ fi pushd $FILAMENT_DIR -git fetch --depth=1 origin +#git fetch --depth=1 origin git reset --hard origin/master git apply $FILAMENT_PATCH_PATH diff --git a/scripts/model-viewer-screenshot.js b/scripts/model-viewer-screenshot.js new file mode 100644 index 0000000000..fed59b0574 --- /dev/null +++ b/scripts/model-viewer-screenshot.js @@ -0,0 +1,56 @@ +/* + * Copyright 2019 Google Inc. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +require = require('esm')(module) + +const fs = require('fs').promises; +const path = require('path'); +const LocalWebServer = require('local-web-server') +const {ArtifactCreator} = require('../lib/test/fidelity/artifact-creator.js'); +const {ConfigReader} = require('../lib/test/fidelity/config-reader.js'); + +const config = require('../test/fidelity/config.json'); +const configReader = new ConfigReader(config); + +const screenshotCreator = + new ArtifactCreator(config, 'http://localhost:9040/test/fidelity/'); +const localWebServer = new LocalWebServer() +const server = localWebServer.listen({port: 9040, directory: './'}); +const slug = process.argv[2]; +const outputFile = process.argv[3]; + +if (slug == null) { + console.error(' Test slug not specified!'); + process.exit(1); +} + +if (outputFile == null) { + console.error(' Output file not specified!'); + process.exit(1); +} + +screenshotCreator + .captureScreenshot(slug, configReader.dimensionsForSlug(slug), outputFile) + .then(() => { + return 0; + }) + .catch(error => { + console.error(error) + return 1; + }) + .then(code => { + server.close(); + process.exit(code); + }); diff --git a/scripts/update-screenshots.js b/scripts/update-screenshots.js index e525b22f9d..abc6ec922a 100644 --- a/scripts/update-screenshots.js +++ b/scripts/update-screenshots.js @@ -29,14 +29,30 @@ const filamentScreenshotScript = const backgroundImageRe = /background-image\="([^"]+)"/; const modelSourceRe = /src\="([^"]+)"/ +const run = async (command, args) => new Promise((resolve, reject) => { + const childProcess = spawn(command, args, { + cwd: process.cwd(), + env: process.env, + stdio: ['ignore', 'inherit', 'inherit'] + }); + + childProcess.once('error', (error) => { + warn(error); + }); + + childProcess.once('exit', (code) => { + if (code === 0) { + resolve(); + } else { + reject(new Error('Command failed')); + } + }); +}); + const updateScreenshots = async (config) => { const {scenarios} = config; - console.log(`💡 Updating screenshots - -⏳ NOTE: The first time running this script can take a long time (5 - 10 minutes) -because we have to build Filament from scratch. If you hear your CPU fan spin -up, take a break and go make yourself a nice cup of tea!`); + console.log(`🆙 Updating screenshots`); for (const scenario of scenarios) { const {goldens, slug} = scenario; @@ -78,22 +94,32 @@ up, take a break and go make yourself a nice cup of tea!`); console.log( `✋ Cannot automatically update ${name} screenshots (yet)`); break; + case ' (master)': + console.log(`💡 Rendering ${name} screenshot for ${slug}...`); + + try { + await run( + 'node', + ['./scripts/model-viewer-screenshot.js', slug, filePath]); + } catch (error) { + throw new Error(`Failed to capture screenshot: ${ + error.message}`); + } + + break; case 'Filament': const {width, height} = scenario.dimensions; - // TODO(cdata): Figure out how to detect high-dpi here: - const scaledWidth = width; - const scaledHeight = height; await new Promise((resolve, reject) => { - console.log(`🖼 Rendering ${name} screenshot for ${slug}...`); + console.log(` Rendering ${name} screenshot for ${slug}...`); const childProcess = spawn( filamentScreenshotScript, [ '-w', - `${scaledWidth}`, + `${width}`, '-h', - `${scaledHeight}`, + `${height}`, '-i', backgroundImagePath, '-m', diff --git a/src/test/fidelity/artifact-creator.ts b/src/test/fidelity/artifact-creator.ts index 1b12fd4016..af716eccb2 100644 --- a/src/test/fidelity/artifact-creator.ts +++ b/src/test/fidelity/artifact-creator.ts @@ -116,7 +116,10 @@ export class ArtifactCreator { } - protected async captureScreenshot(slug: string, dimensions: Dimensions) { + async captureScreenshot( + slug: string, dimensions: Dimensions, + outputPath: string = + path.join(this.config.outputDirectory, slug, 'model-viewer.png')) { const scaledWidth = dimensions.width / DEVICE_PIXEL_RATIO; const scaledHeight = dimensions.height / DEVICE_PIXEL_RATIO; @@ -169,7 +172,7 @@ export class ArtifactCreator { console.log(`🖼 Capturing screenshot`); const screenshot = await page.screenshot({ - path: path.join(this.config.outputDirectory, slug, 'model-viewer.png'), + path: outputPath, clip: {x: 0, y: 0, width: scaledWidth, height: scaledHeight} }); diff --git a/src/test/fidelity/common.ts b/src/test/fidelity/common.ts index da171ae519..514378254f 100644 --- a/src/test/fidelity/common.ts +++ b/src/test/fidelity/common.ts @@ -209,8 +209,11 @@ export class ImageComparator { } } - const mismatchingAverageDistanceRatio = - mismatchingSum / (this.imagePixels - matched) / MAX_COLOR_DISTANCE; + const mismatchingPixels = this.imagePixels - matched; + + const mismatchingAverageDistanceRatio = mismatchingPixels > 0 ? + mismatchingSum / (this.imagePixels - matched) / MAX_COLOR_DISTANCE : + 0; const averageDistanceRatio = sum / this.imagePixels / MAX_COLOR_DISTANCE; return { diff --git a/src/test/fidelity/components/analysis-view.ts b/src/test/fidelity/components/analysis-view.ts index a4ad7ae6bc..55ae3b459b 100644 --- a/src/test/fidelity/components/analysis-view.ts +++ b/src/test/fidelity/components/analysis-view.ts @@ -167,7 +167,7 @@ export class AnalysisView extends LitElement { const width = Math.max(this.leftImage!.naturalWidth, this.rightImage!.naturalWidth); const height = Math.max( - this.rightImage!.naturalWidth, this.rightImage!.naturalHeight); + this.leftImage!.naturalHeight, this.rightImage!.naturalHeight); return {width, height}; } diff --git a/src/test/fidelity/config-reader.ts b/src/test/fidelity/config-reader.ts new file mode 100644 index 0000000000..d820e28b61 --- /dev/null +++ b/src/test/fidelity/config-reader.ts @@ -0,0 +1,18 @@ +import {Dimensions, ImageComparisonConfig} from './common.js'; + +export class ConfigReader { + constructor(public config: ImageComparisonConfig) { + } + + dimensionsForSlug(slug: string): Dimensions { + const {scenarios} = this.config; + + for (const scenario of scenarios) { + if (scenario.slug === slug) { + return scenario.dimensions; + } + } + + return {width: 0, height: 0}; + } +} diff --git a/src/test/fidelity/gltf_renderer.cpp b/src/test/fidelity/gltf_renderer.cpp index 9a639d1e0f..524bf65694 100644 --- a/src/test/fidelity/gltf_renderer.cpp +++ b/src/test/fidelity/gltf_renderer.cpp @@ -45,6 +45,7 @@ #include #include +#include #include #include #include @@ -157,6 +158,12 @@ static void cleanup(Engine* engine, View* view, Scene* scene) { em.destroy(g_light); } +const float FRAMED_HEIGHT = 10.0f; +const float ROOM_PADDING_SCALE = 1.01f; +const float FOV = 45.0f; + +static float roomDepth = 0.0f; + static void setup(Engine* engine, View* view, Scene* scene) { g_meshSet = std::make_unique(*engine); for (auto& filename : g_filenames) { @@ -166,21 +173,65 @@ static void setup(Engine* engine, View* view, Scene* scene) { auto& rcm = engine->getRenderableManager(); auto& tcm = engine->getTransformManager(); - // Compute the scale required to fit the model's bounding box into [-1, 1] - float maxExtent = 0; - maxExtent = std::max( - g_meshSet->maxBound.x - g_meshSet->minBound.x, - g_meshSet->maxBound.y - g_meshSet->minBound.y); - maxExtent = - std::max(maxExtent, g_meshSet->maxBound.z - g_meshSet->minBound.z); - float scaleFactor = 2.325f / maxExtent; + // Scale and translate the model in a way that matches how ModelScene frames + // a model. + // @see src/three-components/ModelScene.js + float aspect = float(g_config.width) / float(g_config.height); + float halfWidth = aspect * FRAMED_HEIGHT / 2.0f; + + float3 roomMin(-1.0f * halfWidth, 0.0f, -1.0f * halfWidth); + float3 roomMax(halfWidth, FRAMED_HEIGHT, halfWidth); + float3 roomSize( + roomMax.x - roomMin.x, roomMax.y - roomMin.y, roomMax.z - roomMin.z); + float3 modelMin = g_meshSet->minBound; + float3 modelMax = g_meshSet->maxBound; + + float3 modelSize = modelMax - modelMin; + + float3 roomCenter( + roomMin.x + roomSize.x / 2.0f, + roomMin.y + roomSize.y / 2.0f, + roomMin.z + roomSize.z / 2.0f); + + float3 modelCenter( + modelMin.x + modelSize.x / 2.0f, + modelMin.y + modelSize.y / 2.0f, + modelMin.z + modelSize.z / 2.0f); + + float scale = std::min(roomSize.x / modelSize.x, roomSize.y / modelSize.y); + scale = std::min(scale, roomSize.z / modelSize.z); + + scale /= ROOM_PADDING_SCALE; - float3 center = -1 * (g_meshSet->maxBound + g_meshSet->minBound) / 2.0f; - center.z -= 4.0f / scaleFactor; + modelCenter *= scale; + + float3 center = (roomCenter - modelCenter); auto rooti = tcm.getInstance(g_meshSet->rootEntity); + tcm.setTransform( - rooti, mat4f::scale(float3(scaleFactor)) * mat4f::translate(center)); + rooti, mat4f::translate(center) * mat4f::scale(float3(scale))); + + if (modelSize.y >= modelSize.x && modelSize.y >= modelSize.z) { + roomDepth = std::max(modelSize.x, modelSize.z) * scale * ROOM_PADDING_SCALE; + } else { + roomDepth = std::abs(roomSize.z); + } + + // NOTE(cdata): Leaving these in here for future debugging purposes + /* + std::cout << "Half width: " << halfWidth << std::endl; + std::cout << "Aspect ratio: " << aspect << std::endl; + std::cout << "Room size: " << roomSize << std::endl; + std::cout << "Model size (natural): " << modelSize << std::endl; + std::cout << "Model size (scaled): " << modelSize * scale << std::endl; + std::cout << "Room center: " << roomCenter << std::endl; + std::cout << "Model center: " << modelCenter << std::endl; + std::cout << "Center: " << center << std::endl; + std::cout << "Scale: " << scale << std::endl; + std::cout << "Model translation: " << tcm.getTransform(rooti)[3].xyz + << std::endl; + */ for (auto renderable : g_meshSet->getRenderables()) { if (rcm.hasComponent(renderable)) { @@ -208,6 +259,27 @@ static void setup(Engine* engine, View* view, Scene* scene) { ibl->getIndirectLight()->setRotation(mat3f::rotate(M_PI_2, float3{0, 1, 0})); } +static void preRender(Engine*, View* view, Scene*, Renderer*) { + // Adjust the camera projection and translation in a way that is similar to + // what ModelScene does. + // NOTE(cdata): This might be inefficient to do every prerender, but since we + // only wait for one frame before exiting it shouldn't matter in practice. + // Also: while spelunking it appeared that the camera has its projection + // and position updated multiple times per frame by other implementation + // outside of our control. This is why we must make these adjustments during + // preRender. + // @see src/three-components/ModelScene.js + float aspect = float(g_config.width) / float(g_config.height); + float halfWidth = aspect * FRAMED_HEIGHT / 2.0f; + float near = (FRAMED_HEIGHT / 2.0f) / std::tan((FOV / 2.0f) * M_PI / 180.0f); + + Camera& camera = view->getCamera(); + + camera.setProjection(FOV, aspect, near, 100.0f); + camera.setModelMatrix(mat4f::translate( + float3(0.0f, FRAMED_HEIGHT / 2.0f, (roomDepth / 2.0f) + near))); +} + static void postRender(Engine*, View* view, Scene*, Renderer* renderer) { int frame = g_currentFrame - FRAME_TO_SKIP - 1; // Account for the back buffer @@ -316,7 +388,7 @@ int main(int argc, char* argv[]) { setup, cleanup, nullptr, - nullptr, + preRender, postRender, g_config.width, g_config.height); diff --git a/src/test/fidelity/image-comparison-worker.ts b/src/test/fidelity/image-comparison-worker.ts index 674fe08c51..91a48921cc 100644 --- a/src/test/fidelity/image-comparison-worker.ts +++ b/src/test/fidelity/image-comparison-worker.ts @@ -69,6 +69,7 @@ class ImageComparisonWorker { const candidateArray = new Uint8ClampedArray(candidateImageBuffer); + const goldenArray = new Uint8ClampedArray(goldenImageBuffer); const {width, height} = dimensions; diff --git a/test/fidelity/alpha-blend-litmus/filament-golden.png b/test/fidelity/alpha-blend-litmus/filament-golden.png index 317c56673f..6d9d15fc35 100644 Binary files a/test/fidelity/alpha-blend-litmus/filament-golden.png and b/test/fidelity/alpha-blend-litmus/filament-golden.png differ diff --git a/test/fidelity/config.json b/test/fidelity/config.json index 2a7592ceb5..dcea815a6a 100644 --- a/test/fidelity/config.json +++ b/test/fidelity/config.json @@ -4,13 +4,69 @@ "analysisThresholds": [0.0, 1.0, 10.0], "scenarios": [ { - "slug": "pbr-spheres", + "slug": "damaged-helmet-hdr-pmrem", "goldens": [{ + "name": " (master)", + "file": "model-viewer-golden.png" + }, { "name": "Filament", "file": "filament-golden.png" + }], + "dimensions": { + "width": 1536, + "height": 1536 + } + }, + { + "slug": "khronos-2CylinderEngine", + "goldens": [{ + "name": " (master)", + "file": "model-viewer-golden.png" }, { - "name": "iOS 12 Quick Look", - "file": "quicklook-golden.png" + "name": "Filament", + "file": "filament-golden.png" + }], + "dimensions": { + "width": 2048, + "height": 1536 + } + }, + { + "slug": "khronos-AlphaBlendModeTest", + "goldens": [{ + "name": " (master)", + "file": "model-viewer-golden.png" + }, { + "name": "Filament", + "file": "filament-golden.png" + }], + "dimensions": { + "width": 2048, + "height": 1536 + } + }, + { + "slug": "khronos-AntiqueCamera", + "goldens": [{ + "name": " (master)", + "file": "model-viewer-golden.png" + }, { + "name": "Filament", + "file": "filament-golden.png" + }], + "dimensions": { + "width": 1024, + "height": 2048 + } + }, + { + "slug": "khronos-Avocado", + "goldens": [{ + "name": " (master)", + "file": "model-viewer-golden.png" + }, { + "name": "Filament", + "file": "filament-golden.png" }], "dimensions": { "width": 1536, @@ -18,13 +74,27 @@ } }, { - "slug": "alpha-blend-litmus", + "slug": "khronos-BoomBox", "goldens": [{ + "name": " (master)", + "file": "model-viewer-golden.png" + }, { "name": "Filament", "file": "filament-golden.png" + }], + "dimensions": { + "width": 1536, + "height": 1536 + } + }, + { + "slug": "khronos-BoxVertexColors", + "goldens": [{ + "name": " (master)", + "file": "model-viewer-golden.png" }, { - "name": "iOS 12 Quick Look", - "file": "quicklook-golden.png" + "name": "Filament", + "file": "filament-golden.png" }], "dimensions": { "width": 1536, @@ -32,7 +102,273 @@ } }, { - "slug": "damaged-helmet-hdr-pmrem", + "slug": "khronos-Buggy", + "goldens": [{ + "name": " (master)", + "file": "model-viewer-golden.png" + }, { + "name": "Filament", + "file": "filament-golden.png" + }], + "dimensions": { + "width": 1536, + "height": 1536 + } + }, + { + "slug": "khronos-CesiumMilkTruck", + "goldens": [{ + "name": " (master)", + "file": "model-viewer-golden.png" + }, { + "name": "Filament", + "file": "filament-golden.png" + }], + "dimensions": { + "width": 1536, + "height": 1536 + } + }, + { + "slug": "khronos-Corset", + "goldens": [{ + "name": " (master)", + "file": "model-viewer-golden.png" + }, { + "name": "Filament", + "file": "filament-golden.png" + }], + "dimensions": { + "width": 1536, + "height": 1536 + } + }, + { + "slug": "khronos-Cube", + "goldens": [{ + "name": " (master)", + "file": "model-viewer-golden.png" + }, { + "name": "Filament", + "file": "filament-golden.png" + }], + "dimensions": { + "width": 1536, + "height": 1536 + } + }, + { + "slug": "khronos-Duck", + "goldens": [{ + "name": " (master)", + "file": "model-viewer-golden.png" + }, { + "name": "Filament", + "file": "filament-golden.png" + }], + "dimensions": { + "width": 1536, + "height": 1536 + } + }, + { + "slug": "khronos-EnvironmentTest", + "goldens": [{ + "name": " (master)", + "file": "model-viewer-golden.png" + }, { + "name": "Filament", + "file": "filament-golden.png" + }], + "dimensions": { + "width": 2048, + "height": 1536 + } + }, + { + "slug": "khronos-GearboxAssy", + "goldens": [{ + "name": " (master)", + "file": "model-viewer-golden.png" + }, { + "name": "Filament", + "file": "filament-golden.png" + }], + "dimensions": { + "width": 1536, + "height": 1536 + } + }, + { + "slug": "khronos-Lantern", + "goldens": [{ + "name": " (master)", + "file": "model-viewer-golden.png" + }, { + "name": "Filament", + "file": "filament-golden.png" + }], + "dimensions": { + "width": 1536, + "height": 1536 + } + }, + { + "slug": "khronos-MetalRoughSpheres", + "goldens": [{ + "name": " (master)", + "file": "model-viewer-golden.png" + }, { + "name": "Filament", + "file": "filament-golden.png" + }], + "dimensions": { + "width": 1536, + "height": 1536 + } + }, + { + "slug": "khronos-MultiUVTest", + "goldens": [{ + "name": " (master)", + "file": "model-viewer-golden.png" + }, { + "name": "Filament", + "file": "filament-golden.png" + }], + "dimensions": { + "width": 1536, + "height": 1536 + } + }, + { + "slug": "khronos-NormalTangentMirrorTest", + "goldens": [{ + "name": " (master)", + "file": "model-viewer-golden.png" + }, { + "name": "Filament", + "file": "filament-golden.png" + }], + "dimensions": { + "width": 1536, + "height": 1536 + } + }, + { + "slug": "khronos-NormalTangentTest", + "goldens": [{ + "name": " (master)", + "file": "model-viewer-golden.png" + }, { + "name": "Filament", + "file": "filament-golden.png" + }], + "dimensions": { + "width": 1536, + "height": 1536 + } + }, + { + "slug": "khronos-OrientationTest", + "goldens": [{ + "name": " (master)", + "file": "model-viewer-golden.png" + }, { + "name": "Filament", + "file": "filament-golden.png" + }], + "dimensions": { + "width": 1536, + "height": 1536 + } + }, + { + "slug": "khronos-SciFiHelmet", + "goldens": [{ + "name": " (master)", + "file": "model-viewer-golden.png" + }, { + "name": "Filament", + "file": "filament-golden.png" + }], + "dimensions": { + "width": 1536, + "height": 1536 + } + }, + { + "slug": "khronos-SpecGlossVsMetalRough", + "goldens": [{ + "name": " (master)", + "file": "model-viewer-golden.png" + }, { + "name": "Filament", + "file": "filament-golden.png" + }], + "dimensions": { + "width": 1536, + "height": 1536 + } + }, + { + "slug": "khronos-Suzanne", + "goldens": [{ + "name": " (master)", + "file": "model-viewer-golden.png" + }, { + "name": "Filament", + "file": "filament-golden.png" + }], + "dimensions": { + "width": 1536, + "height": 1536 + } + }, + { + "slug": "khronos-TextureCoordinateTest", + "goldens": [{ + "name": " (master)", + "file": "model-viewer-golden.png" + }, { + "name": "Filament", + "file": "filament-golden.png" + }], + "dimensions": { + "width": 1536, + "height": 1536 + } + }, + { + "slug": "khronos-TextureSettingsTest", + "goldens": [{ + "name": " (master)", + "file": "model-viewer-golden.png" + }, { + "name": "Filament", + "file": "filament-golden.png" + }], + "dimensions": { + "width": 1536, + "height": 1536 + } + }, + { + "slug": "khronos-TextureTransformTest", + "goldens": [{ + "name": " (master)", + "file": "model-viewer-golden.png" + }, { + "name": "Filament", + "file": "filament-golden.png" + }], + "dimensions": { + "width": 1536, + "height": 1536 + } + }, + { + "slug": "khronos-UnlitTest", "goldens": [{ "name": " (master)", "file": "model-viewer-golden.png" @@ -44,6 +380,48 @@ "width": 1536, "height": 1536 } + }, + { + "slug": "khronos-VertexColorTest", + "goldens": [{ + "name": " (master)", + "file": "model-viewer-golden.png" + }, { + "name": "Filament", + "file": "filament-golden.png" + }], + "dimensions": { + "width": 1536, + "height": 1536 + } + }, + { + "slug": "pbr-spheres", + "goldens": [{ + "name": "Filament", + "file": "filament-golden.png" + }, { + "name": "iOS 12 Quick Look", + "file": "quicklook-golden.png" + }], + "dimensions": { + "width": 1536, + "height": 1536 + } + }, + { + "slug": "alpha-blend-litmus", + "goldens": [{ + "name": "Filament", + "file": "filament-golden.png" + }, { + "name": "iOS 12 Quick Look", + "file": "quicklook-golden.png" + }], + "dimensions": { + "width": 1536, + "height": 1536 + } } ] } diff --git a/test/fidelity/damaged-helmet-hdr-pmrem/filament-golden.png b/test/fidelity/damaged-helmet-hdr-pmrem/filament-golden.png index c03f8df474..180895a5cc 100644 Binary files a/test/fidelity/damaged-helmet-hdr-pmrem/filament-golden.png and b/test/fidelity/damaged-helmet-hdr-pmrem/filament-golden.png differ diff --git a/test/fidelity/khronos-2CylinderEngine/filament-golden.png b/test/fidelity/khronos-2CylinderEngine/filament-golden.png new file mode 100644 index 0000000000..b06cc46c6b Binary files /dev/null and b/test/fidelity/khronos-2CylinderEngine/filament-golden.png differ diff --git a/test/fidelity/khronos-2CylinderEngine/index.html b/test/fidelity/khronos-2CylinderEngine/index.html new file mode 100644 index 0000000000..eb109d2dc3 --- /dev/null +++ b/test/fidelity/khronos-2CylinderEngine/index.html @@ -0,0 +1,36 @@ + + + + + + + <model-viewer> Fidelity Test - Khronos 2-Cylinder Engine + + + + + + + + + diff --git a/test/fidelity/khronos-2CylinderEngine/model-viewer-golden.png b/test/fidelity/khronos-2CylinderEngine/model-viewer-golden.png new file mode 100644 index 0000000000..17b1541574 Binary files /dev/null and b/test/fidelity/khronos-2CylinderEngine/model-viewer-golden.png differ diff --git a/test/fidelity/khronos-AlphaBlendModeTest/filament-golden.png b/test/fidelity/khronos-AlphaBlendModeTest/filament-golden.png new file mode 100644 index 0000000000..cf4d657af4 Binary files /dev/null and b/test/fidelity/khronos-AlphaBlendModeTest/filament-golden.png differ diff --git a/test/fidelity/khronos-AlphaBlendModeTest/index.html b/test/fidelity/khronos-AlphaBlendModeTest/index.html new file mode 100644 index 0000000000..25d7e7cdad --- /dev/null +++ b/test/fidelity/khronos-AlphaBlendModeTest/index.html @@ -0,0 +1,36 @@ + + + + + + + <model-viewer> Fidelity Test - Khronos AlphaBlendModeTest + + + + + + + + + diff --git a/test/fidelity/khronos-AlphaBlendModeTest/model-viewer-golden.png b/test/fidelity/khronos-AlphaBlendModeTest/model-viewer-golden.png new file mode 100644 index 0000000000..e6b1ccab90 Binary files /dev/null and b/test/fidelity/khronos-AlphaBlendModeTest/model-viewer-golden.png differ diff --git a/test/fidelity/khronos-AntiqueCamera/filament-golden.png b/test/fidelity/khronos-AntiqueCamera/filament-golden.png new file mode 100644 index 0000000000..24dd898d79 Binary files /dev/null and b/test/fidelity/khronos-AntiqueCamera/filament-golden.png differ diff --git a/test/fidelity/khronos-AntiqueCamera/index.html b/test/fidelity/khronos-AntiqueCamera/index.html new file mode 100644 index 0000000000..64134c57d0 --- /dev/null +++ b/test/fidelity/khronos-AntiqueCamera/index.html @@ -0,0 +1,36 @@ + + + + + + + <model-viewer> Fidelity Test - Khronos Antique Camera + + + + + + + + + diff --git a/test/fidelity/khronos-AntiqueCamera/model-viewer-golden.png b/test/fidelity/khronos-AntiqueCamera/model-viewer-golden.png new file mode 100644 index 0000000000..2be8e5ff8c Binary files /dev/null and b/test/fidelity/khronos-AntiqueCamera/model-viewer-golden.png differ diff --git a/test/fidelity/khronos-AntiqueCamera/model-viewer.png b/test/fidelity/khronos-AntiqueCamera/model-viewer.png new file mode 100644 index 0000000000..6036b509ec Binary files /dev/null and b/test/fidelity/khronos-AntiqueCamera/model-viewer.png differ diff --git a/test/fidelity/khronos-Avocado/filament-golden.png b/test/fidelity/khronos-Avocado/filament-golden.png new file mode 100644 index 0000000000..cfd91e3d0f Binary files /dev/null and b/test/fidelity/khronos-Avocado/filament-golden.png differ diff --git a/test/fidelity/khronos-Avocado/index.html b/test/fidelity/khronos-Avocado/index.html new file mode 100644 index 0000000000..f8559a692a --- /dev/null +++ b/test/fidelity/khronos-Avocado/index.html @@ -0,0 +1,36 @@ + + + + + + + <model-viewer> Fidelity Test - Khronos Avocado + + + + + + + + + diff --git a/test/fidelity/khronos-Avocado/model-viewer-golden.png b/test/fidelity/khronos-Avocado/model-viewer-golden.png new file mode 100644 index 0000000000..a88901c9f6 Binary files /dev/null and b/test/fidelity/khronos-Avocado/model-viewer-golden.png differ diff --git a/test/fidelity/khronos-BoomBox/filament-golden.png b/test/fidelity/khronos-BoomBox/filament-golden.png new file mode 100644 index 0000000000..e4ec0bff6f Binary files /dev/null and b/test/fidelity/khronos-BoomBox/filament-golden.png differ diff --git a/test/fidelity/khronos-BoomBox/index.html b/test/fidelity/khronos-BoomBox/index.html new file mode 100644 index 0000000000..003ef55993 --- /dev/null +++ b/test/fidelity/khronos-BoomBox/index.html @@ -0,0 +1,36 @@ + + + + + + + <model-viewer> Fidelity Test - Khronos Boom Box + + + + + + + + + diff --git a/test/fidelity/khronos-BoomBox/model-viewer-golden.png b/test/fidelity/khronos-BoomBox/model-viewer-golden.png new file mode 100644 index 0000000000..31e7126a38 Binary files /dev/null and b/test/fidelity/khronos-BoomBox/model-viewer-golden.png differ diff --git a/test/fidelity/khronos-BoxVertexColors/filament-golden.png b/test/fidelity/khronos-BoxVertexColors/filament-golden.png new file mode 100644 index 0000000000..00c3b55614 Binary files /dev/null and b/test/fidelity/khronos-BoxVertexColors/filament-golden.png differ diff --git a/test/fidelity/khronos-BoxVertexColors/index.html b/test/fidelity/khronos-BoxVertexColors/index.html new file mode 100644 index 0000000000..b9dd51e42f --- /dev/null +++ b/test/fidelity/khronos-BoxVertexColors/index.html @@ -0,0 +1,36 @@ + + + + + + + <model-viewer> Fidelity Test - Khronos Box Vertex Colors + + + + + + + + + diff --git a/test/fidelity/khronos-BoxVertexColors/model-viewer-golden.png b/test/fidelity/khronos-BoxVertexColors/model-viewer-golden.png new file mode 100644 index 0000000000..ed10943635 Binary files /dev/null and b/test/fidelity/khronos-BoxVertexColors/model-viewer-golden.png differ diff --git a/test/fidelity/khronos-Buggy/filament-golden.png b/test/fidelity/khronos-Buggy/filament-golden.png new file mode 100644 index 0000000000..79f76eea21 Binary files /dev/null and b/test/fidelity/khronos-Buggy/filament-golden.png differ diff --git a/test/fidelity/khronos-Buggy/index.html b/test/fidelity/khronos-Buggy/index.html new file mode 100644 index 0000000000..35ad0385d2 --- /dev/null +++ b/test/fidelity/khronos-Buggy/index.html @@ -0,0 +1,36 @@ + + + + + + + <model-viewer> Fidelity Test - Khronos Buggy + + + + + + + + + diff --git a/test/fidelity/khronos-Buggy/model-viewer-golden.png b/test/fidelity/khronos-Buggy/model-viewer-golden.png new file mode 100644 index 0000000000..e440bd1a33 Binary files /dev/null and b/test/fidelity/khronos-Buggy/model-viewer-golden.png differ diff --git a/test/fidelity/khronos-CesiumMilkTruck/filament-golden.png b/test/fidelity/khronos-CesiumMilkTruck/filament-golden.png new file mode 100644 index 0000000000..d8c0322d0e Binary files /dev/null and b/test/fidelity/khronos-CesiumMilkTruck/filament-golden.png differ diff --git a/test/fidelity/khronos-CesiumMilkTruck/index.html b/test/fidelity/khronos-CesiumMilkTruck/index.html new file mode 100644 index 0000000000..4d0f170959 --- /dev/null +++ b/test/fidelity/khronos-CesiumMilkTruck/index.html @@ -0,0 +1,36 @@ + + + + + + + <model-viewer> Fidelity Test - Khronos Cesium Milk Truck + + + + + + + + + diff --git a/test/fidelity/khronos-CesiumMilkTruck/model-viewer-golden.png b/test/fidelity/khronos-CesiumMilkTruck/model-viewer-golden.png new file mode 100644 index 0000000000..adc1db16db Binary files /dev/null and b/test/fidelity/khronos-CesiumMilkTruck/model-viewer-golden.png differ diff --git a/test/fidelity/khronos-Corset/filament-golden.png b/test/fidelity/khronos-Corset/filament-golden.png new file mode 100644 index 0000000000..1278c4ee50 Binary files /dev/null and b/test/fidelity/khronos-Corset/filament-golden.png differ diff --git a/test/fidelity/khronos-Corset/index.html b/test/fidelity/khronos-Corset/index.html new file mode 100644 index 0000000000..333892a0e4 --- /dev/null +++ b/test/fidelity/khronos-Corset/index.html @@ -0,0 +1,36 @@ + + + + + + + <model-viewer> Fidelity Test - Khronos Corset + + + + + + + + + diff --git a/test/fidelity/khronos-Corset/model-viewer-golden.png b/test/fidelity/khronos-Corset/model-viewer-golden.png new file mode 100644 index 0000000000..1c1b52b84a Binary files /dev/null and b/test/fidelity/khronos-Corset/model-viewer-golden.png differ diff --git a/test/fidelity/khronos-Cube/filament-golden.png b/test/fidelity/khronos-Cube/filament-golden.png new file mode 100644 index 0000000000..7600ea5fff Binary files /dev/null and b/test/fidelity/khronos-Cube/filament-golden.png differ diff --git a/test/fidelity/khronos-Cube/index.html b/test/fidelity/khronos-Cube/index.html new file mode 100644 index 0000000000..5139b384b1 --- /dev/null +++ b/test/fidelity/khronos-Cube/index.html @@ -0,0 +1,36 @@ + + + + + + + <model-viewer> Fidelity Test - Khronos Cube + + + + + + + + + diff --git a/test/fidelity/khronos-Cube/model-viewer-golden.png b/test/fidelity/khronos-Cube/model-viewer-golden.png new file mode 100644 index 0000000000..e8461fc8f2 Binary files /dev/null and b/test/fidelity/khronos-Cube/model-viewer-golden.png differ diff --git a/test/fidelity/khronos-Duck/filament-golden.png b/test/fidelity/khronos-Duck/filament-golden.png new file mode 100644 index 0000000000..49910774e3 Binary files /dev/null and b/test/fidelity/khronos-Duck/filament-golden.png differ diff --git a/test/fidelity/khronos-Duck/index.html b/test/fidelity/khronos-Duck/index.html new file mode 100644 index 0000000000..70b21b69af --- /dev/null +++ b/test/fidelity/khronos-Duck/index.html @@ -0,0 +1,36 @@ + + + + + + + <model-viewer> Fidelity Test - Khronos Duck + + + + + + + + + diff --git a/test/fidelity/khronos-Duck/model-viewer-golden.png b/test/fidelity/khronos-Duck/model-viewer-golden.png new file mode 100644 index 0000000000..129f0c7648 Binary files /dev/null and b/test/fidelity/khronos-Duck/model-viewer-golden.png differ diff --git a/test/fidelity/khronos-EnvironmentTest/filament-golden.png b/test/fidelity/khronos-EnvironmentTest/filament-golden.png new file mode 100644 index 0000000000..82befbeaa7 Binary files /dev/null and b/test/fidelity/khronos-EnvironmentTest/filament-golden.png differ diff --git a/test/fidelity/khronos-EnvironmentTest/index.html b/test/fidelity/khronos-EnvironmentTest/index.html new file mode 100644 index 0000000000..ec5a9e11af --- /dev/null +++ b/test/fidelity/khronos-EnvironmentTest/index.html @@ -0,0 +1,36 @@ + + + + + + + <model-viewer> Fidelity Test - Khronos Environment Test + + + + + + + + + diff --git a/test/fidelity/khronos-EnvironmentTest/model-viewer-golden.png b/test/fidelity/khronos-EnvironmentTest/model-viewer-golden.png new file mode 100644 index 0000000000..1e01c05a15 Binary files /dev/null and b/test/fidelity/khronos-EnvironmentTest/model-viewer-golden.png differ diff --git a/test/fidelity/khronos-GearboxAssy/filament-golden.png b/test/fidelity/khronos-GearboxAssy/filament-golden.png new file mode 100644 index 0000000000..87bb0b7c2a Binary files /dev/null and b/test/fidelity/khronos-GearboxAssy/filament-golden.png differ diff --git a/test/fidelity/khronos-GearboxAssy/index.html b/test/fidelity/khronos-GearboxAssy/index.html new file mode 100644 index 0000000000..affd9b98af --- /dev/null +++ b/test/fidelity/khronos-GearboxAssy/index.html @@ -0,0 +1,36 @@ + + + + + + + <model-viewer> Fidelity Test - Khronos Gearbox Assy + + + + + + + + + diff --git a/test/fidelity/khronos-GearboxAssy/model-viewer-golden.png b/test/fidelity/khronos-GearboxAssy/model-viewer-golden.png new file mode 100644 index 0000000000..33e0e669e3 Binary files /dev/null and b/test/fidelity/khronos-GearboxAssy/model-viewer-golden.png differ diff --git a/test/fidelity/khronos-Lantern/filament-golden.png b/test/fidelity/khronos-Lantern/filament-golden.png new file mode 100644 index 0000000000..93441b55ce Binary files /dev/null and b/test/fidelity/khronos-Lantern/filament-golden.png differ diff --git a/test/fidelity/khronos-Lantern/index.html b/test/fidelity/khronos-Lantern/index.html new file mode 100644 index 0000000000..460800d2c5 --- /dev/null +++ b/test/fidelity/khronos-Lantern/index.html @@ -0,0 +1,36 @@ + + + + + + + <model-viewer> Fidelity Test - Khronos Lantern + + + + + + + + + diff --git a/test/fidelity/khronos-Lantern/model-viewer-golden.png b/test/fidelity/khronos-Lantern/model-viewer-golden.png new file mode 100644 index 0000000000..82815de69f Binary files /dev/null and b/test/fidelity/khronos-Lantern/model-viewer-golden.png differ diff --git a/test/fidelity/khronos-MetalRoughSpheres/filament-golden.png b/test/fidelity/khronos-MetalRoughSpheres/filament-golden.png new file mode 100644 index 0000000000..e3257f8910 Binary files /dev/null and b/test/fidelity/khronos-MetalRoughSpheres/filament-golden.png differ diff --git a/test/fidelity/khronos-MetalRoughSpheres/index.html b/test/fidelity/khronos-MetalRoughSpheres/index.html new file mode 100644 index 0000000000..4ad9861399 --- /dev/null +++ b/test/fidelity/khronos-MetalRoughSpheres/index.html @@ -0,0 +1,36 @@ + + + + + + + <model-viewer> Fidelity Test - Khronos Metal-Rough Spheres + + + + + + + + + diff --git a/test/fidelity/khronos-MetalRoughSpheres/model-viewer-golden.png b/test/fidelity/khronos-MetalRoughSpheres/model-viewer-golden.png new file mode 100644 index 0000000000..8de9d9a772 Binary files /dev/null and b/test/fidelity/khronos-MetalRoughSpheres/model-viewer-golden.png differ diff --git a/test/fidelity/khronos-MultiUVTest/filament-golden.png b/test/fidelity/khronos-MultiUVTest/filament-golden.png new file mode 100644 index 0000000000..d71c616fc3 Binary files /dev/null and b/test/fidelity/khronos-MultiUVTest/filament-golden.png differ diff --git a/test/fidelity/khronos-MultiUVTest/index.html b/test/fidelity/khronos-MultiUVTest/index.html new file mode 100644 index 0000000000..d6b53fd0c3 --- /dev/null +++ b/test/fidelity/khronos-MultiUVTest/index.html @@ -0,0 +1,36 @@ + + + + + + + <model-viewer> Fidelity Test - Khronos MultiUV Test + + + + + + + + + diff --git a/test/fidelity/khronos-MultiUVTest/model-viewer-golden.png b/test/fidelity/khronos-MultiUVTest/model-viewer-golden.png new file mode 100644 index 0000000000..79915eba44 Binary files /dev/null and b/test/fidelity/khronos-MultiUVTest/model-viewer-golden.png differ diff --git a/test/fidelity/khronos-NormalTangentMirrorTest/filament-golden.png b/test/fidelity/khronos-NormalTangentMirrorTest/filament-golden.png new file mode 100644 index 0000000000..23732bde30 Binary files /dev/null and b/test/fidelity/khronos-NormalTangentMirrorTest/filament-golden.png differ diff --git a/test/fidelity/khronos-NormalTangentMirrorTest/index.html b/test/fidelity/khronos-NormalTangentMirrorTest/index.html new file mode 100644 index 0000000000..540b61abac --- /dev/null +++ b/test/fidelity/khronos-NormalTangentMirrorTest/index.html @@ -0,0 +1,36 @@ + + + + + + + <model-viewer> Fidelity Test - Khronos Normal-Tangent Mirror Test + + + + + + + + + diff --git a/test/fidelity/khronos-NormalTangentMirrorTest/model-viewer-golden.png b/test/fidelity/khronos-NormalTangentMirrorTest/model-viewer-golden.png new file mode 100644 index 0000000000..0de185130b Binary files /dev/null and b/test/fidelity/khronos-NormalTangentMirrorTest/model-viewer-golden.png differ diff --git a/test/fidelity/khronos-NormalTangentTest/filament-golden.png b/test/fidelity/khronos-NormalTangentTest/filament-golden.png new file mode 100644 index 0000000000..49b381d9b8 Binary files /dev/null and b/test/fidelity/khronos-NormalTangentTest/filament-golden.png differ diff --git a/test/fidelity/khronos-NormalTangentTest/index.html b/test/fidelity/khronos-NormalTangentTest/index.html new file mode 100644 index 0000000000..ca4e4f8d36 --- /dev/null +++ b/test/fidelity/khronos-NormalTangentTest/index.html @@ -0,0 +1,36 @@ + + + + + + + <model-viewer> Fidelity Test - Khronos Normal-Tangent Test + + + + + + + + + diff --git a/test/fidelity/khronos-NormalTangentTest/model-viewer-golden.png b/test/fidelity/khronos-NormalTangentTest/model-viewer-golden.png new file mode 100644 index 0000000000..f812f7bd02 Binary files /dev/null and b/test/fidelity/khronos-NormalTangentTest/model-viewer-golden.png differ diff --git a/test/fidelity/khronos-OrientationTest/filament-golden.png b/test/fidelity/khronos-OrientationTest/filament-golden.png new file mode 100644 index 0000000000..0c125f77d4 Binary files /dev/null and b/test/fidelity/khronos-OrientationTest/filament-golden.png differ diff --git a/test/fidelity/khronos-OrientationTest/index.html b/test/fidelity/khronos-OrientationTest/index.html new file mode 100644 index 0000000000..482dc6c9d0 --- /dev/null +++ b/test/fidelity/khronos-OrientationTest/index.html @@ -0,0 +1,36 @@ + + + + + + + <model-viewer> Fidelity Test - Khronos Orientation Test + + + + + + + + + diff --git a/test/fidelity/khronos-OrientationTest/model-viewer-golden.png b/test/fidelity/khronos-OrientationTest/model-viewer-golden.png new file mode 100644 index 0000000000..871f7a0367 Binary files /dev/null and b/test/fidelity/khronos-OrientationTest/model-viewer-golden.png differ diff --git a/test/fidelity/khronos-SciFiHelmet/filament-golden.png b/test/fidelity/khronos-SciFiHelmet/filament-golden.png new file mode 100644 index 0000000000..6e47082fc2 Binary files /dev/null and b/test/fidelity/khronos-SciFiHelmet/filament-golden.png differ diff --git a/test/fidelity/khronos-SciFiHelmet/index.html b/test/fidelity/khronos-SciFiHelmet/index.html new file mode 100644 index 0000000000..fcc2e21ca5 --- /dev/null +++ b/test/fidelity/khronos-SciFiHelmet/index.html @@ -0,0 +1,36 @@ + + + + + + + <model-viewer> Fidelity Test - Khronos Sci Fi Helmet + + + + + + + + + diff --git a/test/fidelity/khronos-SciFiHelmet/model-viewer-golden.png b/test/fidelity/khronos-SciFiHelmet/model-viewer-golden.png new file mode 100644 index 0000000000..40f77638ee Binary files /dev/null and b/test/fidelity/khronos-SciFiHelmet/model-viewer-golden.png differ diff --git a/test/fidelity/khronos-SpecGlossVsMetalRough/filament-golden.png b/test/fidelity/khronos-SpecGlossVsMetalRough/filament-golden.png new file mode 100644 index 0000000000..aa2eb9eeca Binary files /dev/null and b/test/fidelity/khronos-SpecGlossVsMetalRough/filament-golden.png differ diff --git a/test/fidelity/khronos-SpecGlossVsMetalRough/index.html b/test/fidelity/khronos-SpecGlossVsMetalRough/index.html new file mode 100644 index 0000000000..4aa49cb6bd --- /dev/null +++ b/test/fidelity/khronos-SpecGlossVsMetalRough/index.html @@ -0,0 +1,36 @@ + + + + + + + <model-viewer> Fidelity Test - Khronos SpecGlossVsMetalRough + + + + + + + + + diff --git a/test/fidelity/khronos-SpecGlossVsMetalRough/model-viewer-golden.png b/test/fidelity/khronos-SpecGlossVsMetalRough/model-viewer-golden.png new file mode 100644 index 0000000000..a8debae6b5 Binary files /dev/null and b/test/fidelity/khronos-SpecGlossVsMetalRough/model-viewer-golden.png differ diff --git a/test/fidelity/khronos-Suzanne/filament-golden.png b/test/fidelity/khronos-Suzanne/filament-golden.png new file mode 100644 index 0000000000..30db96bbab Binary files /dev/null and b/test/fidelity/khronos-Suzanne/filament-golden.png differ diff --git a/test/fidelity/khronos-Suzanne/index.html b/test/fidelity/khronos-Suzanne/index.html new file mode 100644 index 0000000000..e3e273f1dc --- /dev/null +++ b/test/fidelity/khronos-Suzanne/index.html @@ -0,0 +1,36 @@ + + + + + + + <model-viewer> Fidelity Test - Khronos Suzanna + + + + + + + + + diff --git a/test/fidelity/khronos-Suzanne/model-viewer-golden.png b/test/fidelity/khronos-Suzanne/model-viewer-golden.png new file mode 100644 index 0000000000..d1a353926b Binary files /dev/null and b/test/fidelity/khronos-Suzanne/model-viewer-golden.png differ diff --git a/test/fidelity/khronos-TextureCoordinateTest/filament-golden.png b/test/fidelity/khronos-TextureCoordinateTest/filament-golden.png new file mode 100644 index 0000000000..cdc059083f Binary files /dev/null and b/test/fidelity/khronos-TextureCoordinateTest/filament-golden.png differ diff --git a/test/fidelity/khronos-TextureCoordinateTest/index.html b/test/fidelity/khronos-TextureCoordinateTest/index.html new file mode 100644 index 0000000000..8191f77730 --- /dev/null +++ b/test/fidelity/khronos-TextureCoordinateTest/index.html @@ -0,0 +1,36 @@ + + + + + + + <model-viewer> Fidelity Test - Khronos Texture Coordinate Test + + + + + + + + + diff --git a/test/fidelity/khronos-TextureCoordinateTest/model-viewer-golden.png b/test/fidelity/khronos-TextureCoordinateTest/model-viewer-golden.png new file mode 100644 index 0000000000..f289d4faf1 Binary files /dev/null and b/test/fidelity/khronos-TextureCoordinateTest/model-viewer-golden.png differ diff --git a/test/fidelity/khronos-TextureSettingsTest/filament-golden.png b/test/fidelity/khronos-TextureSettingsTest/filament-golden.png new file mode 100644 index 0000000000..002cccd04a Binary files /dev/null and b/test/fidelity/khronos-TextureSettingsTest/filament-golden.png differ diff --git a/test/fidelity/khronos-TextureSettingsTest/index.html b/test/fidelity/khronos-TextureSettingsTest/index.html new file mode 100644 index 0000000000..685c399564 --- /dev/null +++ b/test/fidelity/khronos-TextureSettingsTest/index.html @@ -0,0 +1,36 @@ + + + + + + + <model-viewer> Fidelity Test - Khronos Texture Settings Test + + + + + + + + + diff --git a/test/fidelity/khronos-TextureSettingsTest/model-viewer-golden.png b/test/fidelity/khronos-TextureSettingsTest/model-viewer-golden.png new file mode 100644 index 0000000000..47c00e5f20 Binary files /dev/null and b/test/fidelity/khronos-TextureSettingsTest/model-viewer-golden.png differ diff --git a/test/fidelity/khronos-TextureTransformTest/filament-golden.png b/test/fidelity/khronos-TextureTransformTest/filament-golden.png new file mode 100644 index 0000000000..d05b5e72e7 Binary files /dev/null and b/test/fidelity/khronos-TextureTransformTest/filament-golden.png differ diff --git a/test/fidelity/khronos-TextureTransformTest/index.html b/test/fidelity/khronos-TextureTransformTest/index.html new file mode 100644 index 0000000000..2ca9c7e6cb --- /dev/null +++ b/test/fidelity/khronos-TextureTransformTest/index.html @@ -0,0 +1,36 @@ + + + + + + + <model-viewer> Fidelity Test - Khronos Texture Transform Test + + + + + + + + + diff --git a/test/fidelity/khronos-TextureTransformTest/model-viewer-golden.png b/test/fidelity/khronos-TextureTransformTest/model-viewer-golden.png new file mode 100644 index 0000000000..65ce69dc22 Binary files /dev/null and b/test/fidelity/khronos-TextureTransformTest/model-viewer-golden.png differ diff --git a/test/fidelity/khronos-UnlitTest/filament-golden.png b/test/fidelity/khronos-UnlitTest/filament-golden.png new file mode 100644 index 0000000000..2afdf9e597 Binary files /dev/null and b/test/fidelity/khronos-UnlitTest/filament-golden.png differ diff --git a/test/fidelity/khronos-UnlitTest/index.html b/test/fidelity/khronos-UnlitTest/index.html new file mode 100644 index 0000000000..4e759b362d --- /dev/null +++ b/test/fidelity/khronos-UnlitTest/index.html @@ -0,0 +1,36 @@ + + + + + + + <model-viewer> Fidelity Test - Khronos Unlit Test + + + + + + + + + diff --git a/test/fidelity/khronos-UnlitTest/model-viewer-golden.png b/test/fidelity/khronos-UnlitTest/model-viewer-golden.png new file mode 100644 index 0000000000..507b669db0 Binary files /dev/null and b/test/fidelity/khronos-UnlitTest/model-viewer-golden.png differ diff --git a/test/fidelity/khronos-VertexColorTest/filament-golden.png b/test/fidelity/khronos-VertexColorTest/filament-golden.png new file mode 100644 index 0000000000..bcd2f115db Binary files /dev/null and b/test/fidelity/khronos-VertexColorTest/filament-golden.png differ diff --git a/test/fidelity/khronos-VertexColorTest/index.html b/test/fidelity/khronos-VertexColorTest/index.html new file mode 100644 index 0000000000..cb696dd90e --- /dev/null +++ b/test/fidelity/khronos-VertexColorTest/index.html @@ -0,0 +1,36 @@ + + + + + + + <model-viewer> Fidelity Test - Khronos Vertex Color Test + + + + + + + + + diff --git a/test/fidelity/khronos-VertexColorTest/model-viewer-golden.png b/test/fidelity/khronos-VertexColorTest/model-viewer-golden.png new file mode 100644 index 0000000000..1b396647ed Binary files /dev/null and b/test/fidelity/khronos-VertexColorTest/model-viewer-golden.png differ diff --git a/test/fidelity/pbr-spheres/filament-golden.png b/test/fidelity/pbr-spheres/filament-golden.png index a654b63b14..f8fb92eae5 100644 Binary files a/test/fidelity/pbr-spheres/filament-golden.png and b/test/fidelity/pbr-spheres/filament-golden.png differ