From c74adabdb58e8123c53aa2123075b00b159fda23 Mon Sep 17 00:00:00 2001 From: Cosmic Linden Date: Wed, 7 Feb 2024 11:33:33 -0800 Subject: secondlife/viewer#711: Add test plan --- doc/testplans/pbr_terrain_feature_gating.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 doc/testplans/pbr_terrain_feature_gating.md (limited to 'doc') diff --git a/doc/testplans/pbr_terrain_feature_gating.md b/doc/testplans/pbr_terrain_feature_gating.md new file mode 100644 index 0000000000..13108c1534 --- /dev/null +++ b/doc/testplans/pbr_terrain_feature_gating.md @@ -0,0 +1,22 @@ +# PBR Terrain Feature Gating + +PBR terrain should have lower detail on lower graphics settings. PBR terrain will also not show emissive textures on some machines (like Macs) which do not support more than 16 textures. + +## Triplanar Mapping + +Triplanar mapping improves the texture repeats on the sides of terrain slopes. + +Availability of Triplanar mapping: + +- Medium-High and below: No triplanar mapping +- High and above: Triplanar mapping + +## PBR Textures + +At the highest graphics support level, PBR terrain supports all PBR textures. + +Availability of PBR textures varies by machine and graphics setting: + +- Low: Base color only (looks similar to texture terrain) +- Medium-Low, and machines that do not support greater than 16 textures such as Macs: All PBR textures enabled except emissive textures. +- Medium: All PBR textures enabled -- cgit v1.2.3 From 0ca75120bec28fbc0ed0fc3392bca0a7a5e85a37 Mon Sep 17 00:00:00 2001 From: Cosmic Linden Date: Thu, 8 Feb 2024 14:39:02 -0800 Subject: secondlife/viewer-issues#67: Add test plan --- doc/testplans/terrain_loading.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 doc/testplans/terrain_loading.md (limited to 'doc') diff --git a/doc/testplans/terrain_loading.md b/doc/testplans/terrain_loading.md new file mode 100644 index 0000000000..b84daf6f73 --- /dev/null +++ b/doc/testplans/terrain_loading.md @@ -0,0 +1,4 @@ +- Texture terrain should load +- PBR terrain should load if enabled +- Related subsystem: A change to the PBR terrain loading system may affect the texture terrain loading system and vice-versa +- Related subsystem: Minimaps should load if terrain loads (may take longer) -- cgit v1.2.3 From ce55ff2e77db649f71107230609fc20fc86a0af3 Mon Sep 17 00:00:00 2001 From: Cosmic Linden Date: Wed, 21 Feb 2024 15:02:03 -0800 Subject: secondlife/viewer-issues#72: Add test plan --- doc/testplans/material_preview.md | 81 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 doc/testplans/material_preview.md (limited to 'doc') diff --git a/doc/testplans/material_preview.md b/doc/testplans/material_preview.md new file mode 100644 index 0000000000..d653fc45ca --- /dev/null +++ b/doc/testplans/material_preview.md @@ -0,0 +1,81 @@ +# Material Preview + +## Overview + +Material preview is a UI feature which displays a lit spherical preview of a PBR material. It can be found in the following UIs: + +- The material picker swatch + - In the build floater, in the Texture tab, when applying a PBR material + - (If the feature is enabled) In the Region/Estate floater, in the Terrain tab, when applying PBR materials to terrain +- In the floater to select a material from inventory, which can be opened by clicking the material picker swatch + +## Known Issues + +These are known issues that the current implementation of this feature does not address: + +- Material swatch preview is a preview of the base material ID only, and ignores other properties on the prim face like material overrides +- Alpha mask previews as alpha blend +- Double-sided previews as single-sided +- Material swatch preview inherits some of its lighting from the current environment, and reflections from the default reflection probe + +## General Regression Testing + +- Check that the material preview swatch looks OK with different materials selected +- Check that the material preview swatch runs reasonably well on different systems, especially when the select material from inventory floater is also open + - In particular: AMD, MacOS, minimum spec machines +- Watch out for regressions in rendering caused by opening a floater with a material preview swatch + +## Bug Fixes + +### Disappearing Objects Fix Test + +This test is recommended for verifying that secondlife/viewer-issues#72 is fixed. + +#### Symptoms + +The following types of objects could randomly disappear until relog in the main view when the bug occured: + +- Objects +- Water level in current region +- Adjacent region/void water + +Note: Disappearing objects in reflections have a different root cause and are not covered by the fix. + +#### Bug Reproduction Steps + +Verify the disappearing objects bug does not reproduce, given the following steps: + +- Runtime prerequisites: Material preview swatch is enabled ("UIPreviewMaterial") by visiting a test region with the feature enabled, or by manually enabling "UIPreviewMaterial" in the advanced settings for the current session +- Region prerequisites: Unknown, but a region with lots of stuff in it (like Rumpus Room 2048 on Aditi) seems to increase repro rate +- Right click an object and select, "Edit item" +- Go to texture tab, select PBR Metallic Roughness from dropdown, and click the button to select material from inventory +- Ensure "Apply now" is checked in the inventory selection floater +- Alternate between different materials from the inventory selection floater +- Look around the world and check for permanently disappeared objects. + +### Dynamic Exposure Influence Fix Test + +This test is recommended for verifying that secondlife/viewer-issues#72 is fixed. + +#### Symptoms + +Dynamic exposure in the world could be influenced by the material preview being displayed. If a material preview was being generated in a given frame, then, depending on the current environment, the user would observe an unpleasant flashing effect in the environment: + +- The world view could suddenly get darker and then fade back to normal exposure levels +- The world view could suddenly get brighter and then fade back to normal exposure levels + +#### Bug Reproduction Steps + +Verify the dynamic exposure influence bug does not reproduce. Test using a few environment presets such as Default Midday, Sunset, and Midnight. + +- Right click an object and select, "Edit item" +- Go to texture tab, select PBR Metallic Roughness from dropdown, and click the button to select material from inventory +- Alternate between different materials from the inventory selection floater + +#### Regression Testing + +Dynamic exposure in the world should continue to work correctly. In particular: + +- Exposure should fade gradually from high exposure to low exposure and back as needed +- Exposure should decrease in brighter environments +- Exposure should increase in darker environments -- cgit v1.2.3 From a1aa0b7c5e1840e4eff6aa07a3f41906072831f2 Mon Sep 17 00:00:00 2001 From: Cosmic Linden Date: Wed, 21 Feb 2024 17:44:01 -0800 Subject: secondlife/viewer-issues#72: Test plan feedback and additional improvements --- doc/testplans/material_preview.md | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'doc') diff --git a/doc/testplans/material_preview.md b/doc/testplans/material_preview.md index d653fc45ca..6d2768f72a 100644 --- a/doc/testplans/material_preview.md +++ b/doc/testplans/material_preview.md @@ -13,10 +13,10 @@ Material preview is a UI feature which displays a lit spherical preview of a PBR These are known issues that the current implementation of this feature does not address: -- Material swatch preview is a preview of the base material ID only, and ignores other properties on the prim face like material overrides -- Alpha mask previews as alpha blend -- Double-sided previews as single-sided -- Material swatch preview inherits some of its lighting from the current environment, and reflections from the default reflection probe +- The material preview in the build floater is a preview of the base material ID only, and ignores other properties on the prim face like material overrides (https://github.com/secondlife/viewer/issues/865) +- Alpha mask previews as alpha blend (https://github.com/secondlife/viewer/issues/866) +- Double-sided previews as single-sided (https://github.com/secondlife/viewer/issues/867) +- Material preview inherits some of its lighting from the current environment, and reflections from the default reflection probe (https://github.com/secondlife/viewer/issues/868) ## General Regression Testing @@ -29,11 +29,11 @@ These are known issues that the current implementation of this feature does not ### Disappearing Objects Fix Test -This test is recommended for verifying that secondlife/viewer-issues#72 is fixed. +This test is recommended for verifying that https://github.com/secondlife/viewer-issues/issues/72 is fixed. #### Symptoms -The following types of objects could randomly disappear until relog in the main view when the bug occured: +When the bug occurs, one or more of following types of objects could randomly disappear in the world, permanently until relog: - Objects - Water level in current region @@ -45,8 +45,10 @@ Note: Disappearing objects in reflections have a different root cause and are no Verify the disappearing objects bug does not reproduce, given the following steps: -- Runtime prerequisites: Material preview swatch is enabled ("UIPreviewMaterial") by visiting a test region with the feature enabled, or by manually enabling "UIPreviewMaterial" in the advanced settings for the current session -- Region prerequisites: Unknown, but a region with lots of stuff in it (like Rumpus Room 2048 on Aditi) seems to increase repro rate +- Runtime prerequisites: Material preview swatch may not be available in your viewer or region if this feature is still behind a feature flag. It is safe to enable this feature manually by setting, "UIPreviewMaterial" to True in the advanced settings. The setting will persist for the current session. +- Region prerequisites: Unknown, but a region with lots of objects in it seems to increase repro rate. The following locations have been known to easily reproduce the bug, as of 2024-02-16: + - http://maps.secondlife.com/secondlife/LindenWorld%20B/161/75/47 + - [secondlife://Aditi/secondlife/Rumpus%20Room%202048/128/128/24](secondlife://Aditi/secondlife/Rumpus%20Room%202048/128/128/24) - Right click an object and select, "Edit item" - Go to texture tab, select PBR Metallic Roughness from dropdown, and click the button to select material from inventory - Ensure "Apply now" is checked in the inventory selection floater @@ -55,7 +57,7 @@ Verify the disappearing objects bug does not reproduce, given the following step ### Dynamic Exposure Influence Fix Test -This test is recommended for verifying that secondlife/viewer-issues#72 is fixed. +This test is recommended for verifying that https://github.com/secondlife/viewer-issues/issues/72 is fixed. #### Symptoms -- cgit v1.2.3 From 0cf4141d7dddfcaf5399bc99306a7426b561953c Mon Sep 17 00:00:00 2001 From: Cosmic Linden Date: Mon, 4 Mar 2024 14:44:41 -0800 Subject: secondlife/viewer#712: Add/update test plans for PBR terrain composition --- doc/testplans/pbr_terrain_composition.md | 59 +++++++++++++++++++++++++++++ doc/testplans/pbr_terrain_feature_gating.md | 4 ++ 2 files changed, 63 insertions(+) create mode 100644 doc/testplans/pbr_terrain_composition.md (limited to 'doc') diff --git a/doc/testplans/pbr_terrain_composition.md b/doc/testplans/pbr_terrain_composition.md new file mode 100644 index 0000000000..127fe950a8 --- /dev/null +++ b/doc/testplans/pbr_terrain_composition.md @@ -0,0 +1,59 @@ +# PBR Terrain Composition + +## Feature Availability + +PBR Terrain is visible for all viewers with the PBR Terrain feature, regardless of if the feature flag is enabled. + +There is only one set of four asset IDs applied to the terrain. In other words, unlike PBR materials on prims, there is no fallback texture set for viewers that do not support PBR terrain. Viewers without support will view terrain as blank (solid grey or white). + +## Editing Terrain Composition + +All tests in this section assume the PBR terrain feature flag is enabled, and that the user has appropriate permissions to modify the terrain textures. + +### Feature Availability + +When the PBR terrain feature flag is disabled: + +- The "PBR Metallic Roughness" checkbox should not be visible +- The user should not be able to apply PBR terrain to the region, only textures. + +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. + +### 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. + +- If it is texture terrain, the "PBR Metallic Roughness" checkbox should be unchecked, and the floater should display the four textures applied to the terrain. +- If it is material terrain, the "PBR Metallic Roughness" checkbox should be checked, and the floater should display the four materials applied to the terrain. + +### Toggling Composition Type + +When toggling the "PBR Metallic Roughness" checkbox to the opposite value, which does not correspond to the current terrain type, one of the following sets of four terrain swatches will be displayed: + +- The default textures/materials + - For textures, this is the default terrain texture set + - For materials, this is blank/null, but this is subject to change +- The previously applied texture/material set + - History is available on a best-effort basis only. In particular, the history does not persist on viewer restart. + +When toggling back the "PBR Metallic Roughness" checkbox to the original value, assuming nothing else has changed, then the current terrain should be shown in the four swatches again. + +### Saving Composition + +A user with appropriate permissions can change and save the textures or materials to the terrain. If the "PBR Metallic Roughness" checkbox is checked, the user applies materials, otherwise the user applies textures. + +Saving may fail for the following reasons: + +- A terrain or material texture is invalid or null +- A terrain texture is greater than 1024 resolution (Subject to change. See https://github.com/secondlife/viewer/issues/760) + +Unlike a viewer without PBR terrain support, the new viewer will no longer treat textures with alpha channels as invalid. + +## Graphics Features + +Texture terrain with transparency will render as opaque. Parts of the texture that would be partially transparent will instead display as a mix of the color and black, depending on how transparent the texture is. + +See [PBR Terrain Feature Gating](./pbr_terrain_feature_gating.md) for supported PBR terrain features. diff --git a/doc/testplans/pbr_terrain_feature_gating.md b/doc/testplans/pbr_terrain_feature_gating.md index 13108c1534..2d27a5d73e 100644 --- a/doc/testplans/pbr_terrain_feature_gating.md +++ b/doc/testplans/pbr_terrain_feature_gating.md @@ -20,3 +20,7 @@ Availability of PBR textures varies by machine and graphics setting: - Low: Base color only (looks similar to texture terrain) - Medium-Low, and machines that do not support greater than 16 textures such as Macs: All PBR textures enabled except emissive textures. - Medium: All PBR textures enabled + +## 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. -- cgit v1.2.3 From 7acfc57cbeb768509dac8266c7011894453d7e16 Mon Sep 17 00:00:00 2001 From: Cosmic Linden Date: Wed, 13 Mar 2024 10:10:54 -0700 Subject: secondlife/viewer#906: Rename a PBR terrain test plan --- doc/testplans/pbr_terrain_appearance.md | 26 ++++++++++++++++++++++++++ doc/testplans/pbr_terrain_feature_gating.md | 26 -------------------------- 2 files changed, 26 insertions(+), 26 deletions(-) create mode 100644 doc/testplans/pbr_terrain_appearance.md delete mode 100644 doc/testplans/pbr_terrain_feature_gating.md (limited to 'doc') diff --git a/doc/testplans/pbr_terrain_appearance.md b/doc/testplans/pbr_terrain_appearance.md new file mode 100644 index 0000000000..b56e84b3a8 --- /dev/null +++ b/doc/testplans/pbr_terrain_appearance.md @@ -0,0 +1,26 @@ +# PBR Terrain Appearance + +PBR terrain should have lower detail on lower graphics settings. PBR terrain will also not show emissive textures on some machines (like Macs) which do not support more than 16 textures. + +## Triplanar Mapping + +Triplanar mapping improves the texture repeats on the sides of terrain slopes. + +Availability of Triplanar mapping: + +- Medium-High and below: No triplanar mapping +- High and above: Triplanar mapping + +## PBR Textures + +At the highest graphics support level, PBR terrain supports all PBR textures. + +Availability of PBR textures varies by machine and graphics setting: + +- Low: Base color only (looks similar to texture terrain) +- Medium-Low, and machines that do not support greater than 16 textures such as Macs: All PBR textures enabled except emissive textures. +- Medium: All PBR textures enabled + +## 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. diff --git a/doc/testplans/pbr_terrain_feature_gating.md b/doc/testplans/pbr_terrain_feature_gating.md deleted file mode 100644 index 2d27a5d73e..0000000000 --- a/doc/testplans/pbr_terrain_feature_gating.md +++ /dev/null @@ -1,26 +0,0 @@ -# PBR Terrain Feature Gating - -PBR terrain should have lower detail on lower graphics settings. PBR terrain will also not show emissive textures on some machines (like Macs) which do not support more than 16 textures. - -## Triplanar Mapping - -Triplanar mapping improves the texture repeats on the sides of terrain slopes. - -Availability of Triplanar mapping: - -- Medium-High and below: No triplanar mapping -- High and above: Triplanar mapping - -## PBR Textures - -At the highest graphics support level, PBR terrain supports all PBR textures. - -Availability of PBR textures varies by machine and graphics setting: - -- Low: Base color only (looks similar to texture terrain) -- Medium-Low, and machines that do not support greater than 16 textures such as Macs: All PBR textures enabled except emissive textures. -- Medium: All PBR textures enabled - -## 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. -- cgit v1.2.3 From f335d9af2ccf18294988a191ed89e7e4179429d4 Mon Sep 17 00:00:00 2001 From: Cosmic Linden Date: Wed, 13 Mar 2024 10:18:09 -0700 Subject: secondlife/viewer#906: Add tiling test to renamed PBR terrain appearance test plan --- doc/testplans/pbr_terrain_appearance.md | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'doc') diff --git a/doc/testplans/pbr_terrain_appearance.md b/doc/testplans/pbr_terrain_appearance.md index b56e84b3a8..4f0ee5c943 100644 --- a/doc/testplans/pbr_terrain_appearance.md +++ b/doc/testplans/pbr_terrain_appearance.md @@ -1,8 +1,17 @@ # PBR Terrain Appearance +## Tiling + +If two adjacent regions have the same PBR terrain settings, then: + +- 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) + +## Feature Gating + PBR terrain should have lower detail on lower graphics settings. PBR terrain will also not show emissive textures on some machines (like Macs) which do not support more than 16 textures. -## Triplanar Mapping +### Triplanar Mapping Triplanar mapping improves the texture repeats on the sides of terrain slopes. @@ -11,7 +20,7 @@ Availability of Triplanar mapping: - Medium-High and below: No triplanar mapping - High and above: Triplanar mapping -## PBR Textures +### PBR Textures At the highest graphics support level, PBR terrain supports all PBR textures. @@ -21,6 +30,6 @@ Availability of PBR textures varies by machine and graphics setting: - Medium-Low, and machines that do not support greater than 16 textures such as Macs: All PBR textures enabled except emissive textures. - Medium: All PBR textures enabled -## PBR Alpha +### 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. -- cgit v1.2.3 From ef755235551d68b2790ed7c5363038f46a226306 Mon Sep 17 00:00:00 2001 From: RunitaiLinden Date: Wed, 13 Mar 2024 12:22:12 -0500 Subject: 983 add debug setting to control the maximum download resolution (#986) * Create RenderMaxTextureResolution.md * #983 Add RenderMaxTextureResolution setting. Incidental crash fix. --- doc/testplans/RenderMaxTextureResolution.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 doc/testplans/RenderMaxTextureResolution.md (limited to 'doc') diff --git a/doc/testplans/RenderMaxTextureResolution.md b/doc/testplans/RenderMaxTextureResolution.md new file mode 100644 index 0000000000..2b117050c7 --- /dev/null +++ b/doc/testplans/RenderMaxTextureResolution.md @@ -0,0 +1,16 @@ +The Setting RenderMaxTextureResolution controls the maximum resolution of non-boosted textures as displayed by the viewer. + +Valid values are 512-2048 (clamped in C++). + +![image](https://github.com/secondlife/viewer/assets/23218274/d0f889fc-8135-41d2-9d83-871ad4eebed5) + +![image](https://github.com/secondlife/viewer/assets/23218274/19950828-7eb1-4bb2-85d7-f35c63b34294) + +![image](https://github.com/secondlife/viewer/assets/23218274/249afc83-4de6-488d-a05e-4877d08573b1) + +Test Asset available on beta grid: +Object: 'Damaged Helmet', AssetID 0623e759-11b5-746c-a75e-7ba1caa6eb0e + + + + -- cgit v1.2.3 From d909e7243861320b43634ab9cafd2bb5a8dc558b Mon Sep 17 00:00:00 2001 From: RunitaiLinden Date: Wed, 13 Mar 2024 12:27:33 -0500 Subject: #975 Add RenderHDRISplitScreen debug setting (#976) * #975 Add RenderHDRISplitScreen debug setting * Create hdri_local_preview.md --- doc/testplans/hdri_local_preview.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 doc/testplans/hdri_local_preview.md (limited to 'doc') diff --git a/doc/testplans/hdri_local_preview.md b/doc/testplans/hdri_local_preview.md new file mode 100644 index 0000000000..ba4f085100 --- /dev/null +++ b/doc/testplans/hdri_local_preview.md @@ -0,0 +1,21 @@ +A resident may swap out their sky for an EXR format HDRI for the purposes of previewing how their object would render in Second Life in an environment that matches the supplied HDRI. This should aid in matching inworld lighting with external tools so artists can know if their content has imported properly. + +To load an HDRI, click Develop->Render Tests->HDRI Preview: + +![image](https://github.com/secondlife/viewer/assets/23218274/fbdeab5f-dc1f-4406-be19-0c9ee7437b3f) + +Choose an EXR image. A library of publicly available HDRIs can be found here: https://polyhaven.com/hdris + +The Personal Lighting floater will open, and the sky will be replaced with the HDRI you chose. Reflection Probes will reset, and the scene will be illuminated by the HDRI. + +Three debug settings affect how the HDRI is displayed: + +RenderHDRIExposure - Exposure adjustment of HDRI when previewing an HDRI. Units are EV. Sane values would be -10 to 10. +RenderHDRIRotation - Rotation (in degrees) of environment when previewing an HDRI. +RenderHDRISplitScreen - What percentage of screen to render using HDRI vs EEP sky. + +Exposure and Rotation should behave similarly to the rotation and exposure controls in Substance Painter. + +Split Screen can be used to display an EEP sky side-by-side with an HDRI sky to aid in authoring an EEP sky that matches an HDRI sky. It is currently expected that EEP sun disc, moon, clouds, and stars do not render when previewing an HDRI, but that may change in the future. + + -- cgit v1.2.3 From 1a539523e292aa28fe8e07e9f30d70acb4e67b8f Mon Sep 17 00:00:00 2001 From: Cosmic Linden Date: Wed, 13 Mar 2024 16:18:19 -0700 Subject: secondlife/viewer#76: Update test plan to specify that terrain composition labels should match the current context --- doc/testplans/pbr_terrain_composition.md | 2 ++ 1 file changed, 2 insertions(+) (limited to 'doc') diff --git a/doc/testplans/pbr_terrain_composition.md b/doc/testplans/pbr_terrain_composition.md index 127fe950a8..524583aa7a 100644 --- a/doc/testplans/pbr_terrain_composition.md +++ b/doc/testplans/pbr_terrain_composition.md @@ -29,6 +29,8 @@ When the Region/Estate floater is opened to the terrain Tab, the current terrain - If it is texture terrain, the "PBR Metallic Roughness" checkbox should be unchecked, and the floater should display the four textures applied to the terrain. - If it is material terrain, the "PBR Metallic Roughness" checkbox should be checked, and the floater should display the four materials applied to the terrain. +In addition, where possible, textual labels and descriptions in the tab should make sense given the current value of the "PBR Metallic Roughness" checkbox. If the checkbox is unchecked, the labels should refer to textures. If the checkbox is checked, the labels should refer to materials. + ### Toggling Composition Type When toggling the "PBR Metallic Roughness" checkbox to the opposite value, which does not correspond to the current terrain type, one of the following sets of four terrain swatches will be displayed: -- cgit v1.2.3 From 72987ac256c8c906eb51d002942332279250284a Mon Sep 17 00:00:00 2001 From: Cosmic Linden Date: Fri, 15 Mar 2024 12:48:45 -0700 Subject: secondlife/viewer#760: Update test plan for terrain texture max resolution validation --- doc/testplans/pbr_terrain_composition.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/testplans/pbr_terrain_composition.md b/doc/testplans/pbr_terrain_composition.md index 524583aa7a..8cc5560f64 100644 --- a/doc/testplans/pbr_terrain_composition.md +++ b/doc/testplans/pbr_terrain_composition.md @@ -50,7 +50,7 @@ A user with appropriate permissions can change and save the textures or material Saving may fail for the following reasons: - A terrain or material texture is invalid or null -- A terrain texture is greater than 1024 resolution (Subject to change. See https://github.com/secondlife/viewer/issues/760) +- A terrain texture is greater than the max texture upload resolution Unlike a viewer without PBR terrain support, the new viewer will no longer treat textures with alpha channels as invalid. -- cgit v1.2.3 From cc6175274c9520b61d7b87f124168e8a85e3bc48 Mon Sep 17 00:00:00 2001 From: Cosmic Linden Date: Fri, 15 Mar 2024 16:14:13 -0700 Subject: secondlife/viewer#906: Fix broken test plan link --- doc/testplans/pbr_terrain_composition.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/testplans/pbr_terrain_composition.md b/doc/testplans/pbr_terrain_composition.md index 8cc5560f64..05431ab4bf 100644 --- a/doc/testplans/pbr_terrain_composition.md +++ b/doc/testplans/pbr_terrain_composition.md @@ -58,4 +58,4 @@ Unlike a viewer without PBR terrain support, the new viewer will no longer treat Texture terrain with transparency will render as opaque. Parts of the texture that would be partially transparent will instead display as a mix of the color and black, depending on how transparent the texture is. -See [PBR Terrain Feature Gating](./pbr_terrain_feature_gating.md) for supported PBR terrain features. +See [PBR Terrain Appearance](./pbr_terrain_appearance.md) for supported PBR terrain features. -- cgit v1.2.3 From 3caf96b9ad10bb3c6afe5b067697809ecee51e90 Mon Sep 17 00:00:00 2001 From: Cosmic Linden Date: Mon, 18 Mar 2024 13:26:41 -0700 Subject: secondlife/viewer#1006: Update test plan --- doc/testplans/pbr_terrain_composition.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/testplans/pbr_terrain_composition.md b/doc/testplans/pbr_terrain_composition.md index 05431ab4bf..0e721c064a 100644 --- a/doc/testplans/pbr_terrain_composition.md +++ b/doc/testplans/pbr_terrain_composition.md @@ -37,7 +37,7 @@ When toggling the "PBR Metallic Roughness" checkbox to the opposite value, which - The default textures/materials - For textures, this is the default terrain texture set - - For materials, this is blank/null, but this is subject to change + - For materials, this is all blank materials, but this is subject to change - The previously applied texture/material set - History is available on a best-effort basis only. In particular, the history does not persist on viewer restart. @@ -47,11 +47,15 @@ When toggling back the "PBR Metallic Roughness" checkbox to the original value, A user with appropriate permissions can change and save the textures or materials to the terrain. If the "PBR Metallic Roughness" checkbox is checked, the user applies materials, otherwise the user applies textures. +The user should not be allowed to set the texture or material swatches to null. + Saving may fail for the following reasons: -- A terrain or material texture is invalid or null +- A terrain or material texture is invalid - A terrain texture is greater than the max texture upload resolution +If saving the terrain fails for any reason, the terrain should not be updated. + Unlike a viewer without PBR terrain support, the new viewer will no longer treat textures with alpha channels as invalid. ## Graphics Features -- cgit v1.2.3 From e2a3edf6daed276d82767ce070dbbaf1d42dc427 Mon Sep 17 00:00:00 2001 From: Cosmic Linden Date: Tue, 19 Mar 2024 16:13:04 -0700 Subject: secondlife/viewer-issues#82: Update test plan --- doc/testplans/pbr_terrain_composition.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/testplans/pbr_terrain_composition.md b/doc/testplans/pbr_terrain_composition.md index 0e721c064a..87c1d47780 100644 --- a/doc/testplans/pbr_terrain_composition.md +++ b/doc/testplans/pbr_terrain_composition.md @@ -60,6 +60,6 @@ Unlike a viewer without PBR terrain support, the new viewer will no longer treat ## Graphics Features -Texture terrain with transparency will render as opaque. Parts of the texture that would be partially transparent will instead display as a mix of the color and black, depending on how transparent the texture is. +Texture terrain with transparency is not permitted to be applied in the viewer. See [PBR Terrain Appearance](./pbr_terrain_appearance.md) for supported PBR terrain features. -- cgit v1.2.3 From 72594038c0ede691f9be293b636fd9c6e1b7e0ee Mon Sep 17 00:00:00 2001 From: Cosmic Linden Date: Wed, 20 Mar 2024 17:11:20 -0700 Subject: secondlife/viewer#1027: Update test plan --- doc/testplans/pbr_terrain_composition.md | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'doc') diff --git a/doc/testplans/pbr_terrain_composition.md b/doc/testplans/pbr_terrain_composition.md index 87c1d47780..1cd26a0ded 100644 --- a/doc/testplans/pbr_terrain_composition.md +++ b/doc/testplans/pbr_terrain_composition.md @@ -63,3 +63,7 @@ Unlike a viewer without PBR terrain support, the new viewer will no longer treat Texture terrain with transparency is not permitted to be applied in the viewer. See [PBR Terrain Appearance](./pbr_terrain_appearance.md) for supported PBR terrain features. + +## Minimap + +The minimap should display the terrain with appropriate textures and colors. -- cgit v1.2.3 From 2ef42c8c3649898bdc9a2e5a95a5fa34a700daf9 Mon Sep 17 00:00:00 2001 From: Cosmic Linden Date: Mon, 25 Mar 2024 15:50:45 -0700 Subject: viewer#1051: Credit Ansariel for this fix --- doc/contributions.txt | 1 + 1 file changed, 1 insertion(+) (limited to 'doc') diff --git a/doc/contributions.txt b/doc/contributions.txt index c902a11874..27d6574c61 100755 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -243,6 +243,7 @@ Ansariel Hiller SL-19623 SL-4126 SL-20224 + https://github.com/secondlife/viewer/issues/1051 Aralara Rajal Arare Chantilly CHUIBUG-191 -- cgit v1.2.3 From e2da41a75901ec2b0a97a92721043737b2bc057c Mon Sep 17 00:00:00 2001 From: Cosmic Linden Date: Wed, 3 Apr 2024 10:28:19 -0700 Subject: secondlife/viewer#773: Improve test plan for PBR terrain feature flag --- doc/testplans/pbr_terrain_composition.md | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'doc') diff --git a/doc/testplans/pbr_terrain_composition.md b/doc/testplans/pbr_terrain_composition.md index 1cd26a0ded..aadd97a94b 100644 --- a/doc/testplans/pbr_terrain_composition.md +++ b/doc/testplans/pbr_terrain_composition.md @@ -12,6 +12,13 @@ All tests in this section assume the PBR terrain feature flag is enabled, and th ### Feature Availability +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. + +- The flag should be enabled on regions where the PBR terrain feature is enabled +- Otherwise the flag should be disabled + When the PBR terrain feature flag is disabled: - The "PBR Metallic Roughness" checkbox should not be visible -- cgit v1.2.3 From 08e012b4fa3c94a26c4b50e68e969a66a1f8d1b6 Mon Sep 17 00:00:00 2001 From: Cosmic Linden Date: Fri, 26 Apr 2024 12:03:19 -0700 Subject: secondlife/viewer-private#230: Amend terrain loading test plan --- doc/testplans/terrain_loading.md | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) (limited to 'doc') diff --git a/doc/testplans/terrain_loading.md b/doc/testplans/terrain_loading.md index b84daf6f73..d8be930b33 100644 --- a/doc/testplans/terrain_loading.md +++ b/doc/testplans/terrain_loading.md @@ -1,4 +1,29 @@ -- Texture terrain should load -- PBR terrain should load if enabled +# Terrain Loading + +## Behavior overview + +- Texture terrain should load if applied +- PBR terrain should load if applied, even if the feature flag is disabled - Related subsystem: A change to the PBR terrain loading system may affect the texture terrain loading system and vice-versa -- Related subsystem: Minimaps should load if terrain loads (may take longer) +- Related subsystem: Minimap should load if terrain loads + - They may not finish loading at the same time + +## Implementation details + +This section is provided mainly for clarification of how the terrain loading system works. + +The simulator sends 4 terrain composition UUIDs to the viewer for the region. The viewer does not know ahead-of-time if the terrain composition uses textures or materials. Therefore, to expedite terrain loading, the viewer makes up to 8 "top-level" asset requests simultaneously: + +- Up to 4 texture asset requests, one for each UUID +- Up to 4 material asset requests, one for each UUID + +It is therefore expected that half of these asset lookups will fail. + +The viewer inspects the load success of these top-level assets to make the binary decision of whether to render all 4 texture assets or all 4 material assets. This determines the choice of composition for terrain both in-world and on the minimap. + +The minimap also attempts to wait for textures to partially load before it can render a tile for a given region: + +- When rendering texture terrain, the minimap attempts to wait for top-level texture assets to partially load +- When rendering PBR material terrain, the minimap attempts to wait for any base color/emissive textures in the materials to partially load, if they are present + +We don't make guarantees that the minimap tile will render for the region if any aforementioned required textures/materials fail to sufficiently load. However, the minimap may make a best-effort attempt to render the region by ignoring or replacing data. -- cgit v1.2.3 From 633fa78426935d5cd2471e6de82b35ce9dd1ace2 Mon Sep 17 00:00:00 2001 From: Dan Linden <119471733+Dan-Linden@users.noreply.github.com> Date: Tue, 30 Apr 2024 15:22:58 -0700 Subject: Update terrain_loading.md Add more details to Behavior overview. --- doc/testplans/terrain_loading.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/testplans/terrain_loading.md b/doc/testplans/terrain_loading.md index d8be930b33..c1b170fcf8 100644 --- a/doc/testplans/terrain_loading.md +++ b/doc/testplans/terrain_loading.md @@ -2,8 +2,8 @@ ## Behavior overview -- Texture terrain should load if applied -- PBR terrain should load if applied, even if the feature flag is disabled +- Texture terrain should load if textures are applied to the region, and no PBR Metallic Roughness materials are applied. +- PBR terrain should load if PBR materials are applied to the region, even if the RenderTerrainPBREnabled feature flag is disabled in debug settings. This setting only disables the display of PBR materials in the Region / Estate > Terrain UI. - Related subsystem: A change to the PBR terrain loading system may affect the texture terrain loading system and vice-versa - Related subsystem: Minimap should load if terrain loads - They may not finish loading at the same time -- cgit v1.2.3 From ae6a402b7a26aa4ec3258b3e0b68919602e03d23 Mon Sep 17 00:00:00 2001 From: Cosmic Linden Date: Wed, 15 May 2024 09:55:55 -0700 Subject: secondlife/viewer#1474: Remove small texture offset from PBR terrain --- doc/testplans/pbr_terrain_appearance.md | 2 ++ 1 file changed, 2 insertions(+) (limited to 'doc') diff --git a/doc/testplans/pbr_terrain_appearance.md b/doc/testplans/pbr_terrain_appearance.md index 4f0ee5c943..f6d54029b5 100644 --- a/doc/testplans/pbr_terrain_appearance.md +++ b/doc/testplans/pbr_terrain_appearance.md @@ -2,6 +2,8 @@ ## Tiling +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: - There should not be seams between the two regions at their shared border -- cgit v1.2.3