From 00c4d2ed4e5daab044f88c5eb58bea5be40e0ba2 Mon Sep 17 00:00:00 2001 From: Cosmic Linden Date: Mon, 10 Jun 2024 17:02:55 -0700 Subject: secondlife/viewer#1475: Update PBR Terrain test plans --- doc/testplans/pbr_terrain_appearance.md | 23 +++++++++++++++++++---- doc/testplans/pbr_terrain_composition.md | 22 ++++++++++++++++++++++ 2 files changed, 41 insertions(+), 4 deletions(-) diff --git a/doc/testplans/pbr_terrain_appearance.md b/doc/testplans/pbr_terrain_appearance.md index f6d54029b5..11b501be3a 100644 --- a/doc/testplans/pbr_terrain_appearance.md +++ b/doc/testplans/pbr_terrain_appearance.md @@ -1,13 +1,14 @@ # PBR Terrain Appearance -## Tiling +## Tiling Without Texture Transforms + +This section assumes the PBR terrain of the current region and adjacent regions have the default texture transforms. The southwest corner of a region with PBR materials should exactly match up with the bottom left corner of the material texture(s). -If two adjacent regions have the same PBR terrain settings, then: +If two adjacent regions have the same PBR terrain settings, then there should not be seams between the two regions at their shared border. -- There should not be seams between the two regions at their shared border -- The ground should not suddenly slide beneath the avatar when moving between regions (except due to movement of the avatar, which is not covered by this test plan) +The ground should not suddenly slide beneath the avatar when moving between two PBR terrain regions (except due to movement of the avatar, which is not covered by this test plan) ## Feature Gating @@ -35,3 +36,17 @@ Availability of PBR textures varies by machine and graphics setting: ### PBR Alpha PBR terrain does not support materials with alpha blend or double-sided. In addition, the viewer does not make any guarantees about what will render behind the terrain if alpha is used. + +## PBR Terrain Texture Transforms + +Like PBR materials on prims, PBR terrain repeats are based on the [KHR\_texture\_transform](https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_texture_transform) spec, and thus should be expected to behave the same way. + +The southwest corner of a region, at z=0, is the UV origin for all texture coordinates of the whole region. Unless an offset is also applied, scale and rotation of the terrain texture transforms are relative to that point. + +When an avatar faces north and looks down at flat ground, the textures of the materials should appear to face upright, unless a rotation is applied. + +If triplanar mapping is enabled, and an avatar faces an axially-aligned wall, the textures of the materials should appear to face upright, unless a rotation is applied. + +Textures of materials should not appear mirrored. + +When triplanar mapping is enabled, rotations on the axially aligned walls should apply in the same direction as they would on flat ground. diff --git a/doc/testplans/pbr_terrain_composition.md b/doc/testplans/pbr_terrain_composition.md index aadd97a94b..731da90aba 100644 --- a/doc/testplans/pbr_terrain_composition.md +++ b/doc/testplans/pbr_terrain_composition.md @@ -12,6 +12,10 @@ All tests in this section assume the PBR terrain feature flag is enabled, and th ### Feature Availability +These features are related to UI, where the Region/Estate floater is opened to the terrain Tab. + +#### Feature: PBR Terrain + On the client, the advanced setting `RenderTerrainPBREnabled` is the PBR terrain feature flag. The PBR terrain feature flag should be set automatically when logging in/teleporting to a new region. @@ -29,6 +33,24 @@ When the PBR terrain feature flag is enabled: - The "PBR Metallic Roughness" checkbox should be visible - The user should be able to apply PBR terrain or textures to the region, depending on if the "PBR Metallic Roughness" checkbox is checked. +#### Feature: PBR Terrain Texture Transforms + +On the client, the advanced setting, `RenderTerrainPBRTransformsEnabled` is the PBR terrain texture transform flag. Generally, this feature should not be expected to work correctly unless the PBR terrain feature is also enabled. + +The PBR terrain texture transform flag should be set automatically when logging in/teleporting to a new region. + +- The flag should be enabled on regions where the PBR terrain texture transform feature is enabled +- Otherwise the flag should be disabled + +When the PBR terrain texture transform feature is enabled, the UI of the Terrain tab should be overhauled. Availability of features depends on the type of terrain. + +When "PBR Metallic Roughness" is checked: + +- There should be a way for the user to change the texture transforms for the terrain in the current region +- For each of the four swatches, the user can change the scale, offset, and rotation of that swatch. Nonuniform scale is allowed + +When "PBR Metallic Roughness" is unchecked, the controls for texture transforms should be hidden. + ### Current Composition Type When the Region/Estate floater is opened to the terrain Tab, the current terrain should be shown in the four swatches, and the "PBR Metallic Roughness" checkbox should be checked or unchecked accordingly. -- cgit v1.2.3