From 79f5231db23dfa22d8981940864d1f3a450e3e02 Mon Sep 17 00:00:00 2001 From: RunitaiLinden Date: Tue, 23 Jan 2024 15:45:33 -0600 Subject: Create test plan for optimizeAwayAlpha (#663) --- doc/testplans/optimize_away_alpha.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 doc/testplans/optimize_away_alpha.md (limited to 'doc') diff --git a/doc/testplans/optimize_away_alpha.md b/doc/testplans/optimize_away_alpha.md new file mode 100644 index 0000000000..f0c8d1e8d6 --- /dev/null +++ b/doc/testplans/optimize_away_alpha.md @@ -0,0 +1,5 @@ +Textures imported via Build->Upload->Material that have an all opaque (255) alpha channel should have their alpha channel removed before upload. + +1. Make 4 images that have different colors but all 255 alpha channels +2. Upload them all using Build->Upload->Material, with one in each of the material texture slots +3. Verify that using the textures as a blinn-phong diffuse map does not make the corresponding face render in the alpha pass (face should stay visible after disabling alpha pass by unchecking Advanced->Render Types->Alpha). -- cgit v1.3 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.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.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.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.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.3