From 186395ee4b48cf62cbcb484ba4e5d22154942ef5 Mon Sep 17 00:00:00 2001 From: Cosmic Linden Date: Fri, 28 Jun 2024 15:09:42 -0700 Subject: secondlife/viewer#1847: Add test plan --- doc/testplans/pbr_terrain_appearance.md | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'doc') diff --git a/doc/testplans/pbr_terrain_appearance.md b/doc/testplans/pbr_terrain_appearance.md index 11b501be3a..770e39204e 100644 --- a/doc/testplans/pbr_terrain_appearance.md +++ b/doc/testplans/pbr_terrain_appearance.md @@ -50,3 +50,14 @@ If triplanar mapping is enabled, and an avatar faces an axially-aligned wall, th 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. + +## PBR Terrain Normal Textures + +This section assumes terrain normal maps are enabled at the current graphics setting. + +PBR terrain should have approximately correct lighting based on the normal texture: + +- When on flat ground +- On cliffs, when triplanar mapping is enabled. Lighting will be somewhat less accurate when the cliff face is not axially aligned. +- If no Terrain Texture Transform is applied. +- If a Terrain Texture Transform is applied, especially for rotation or negative scale. -- cgit v1.2.3 From 9ccab0df1499e8d029a49f8835bf2db70b2f7a8e Mon Sep 17 00:00:00 2001 From: Cosmic Linden Date: Mon, 1 Jul 2024 16:17:06 -0700 Subject: secondlife/viewer#1847: Add test plan for normal textures on PBR materials --- doc/testplans/pbr_materials.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 doc/testplans/pbr_materials.md (limited to 'doc') diff --git a/doc/testplans/pbr_materials.md b/doc/testplans/pbr_materials.md new file mode 100644 index 0000000000..f91e5fd454 --- /dev/null +++ b/doc/testplans/pbr_materials.md @@ -0,0 +1,12 @@ +# PBR Materials + +## KHR Texture Transforms + +Texture repeats for PBR materials on prims 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 according to the spec. + +PBR materials should have approximately correct lighting based on the normal texture: + +- With default texture transforms, assuming the prim or model has correct normals and tangents +- With a texture transform applied, especially rotation or negative scale +- With a texture animation applied via `llSetTextureAnim`, especially a rotation animation + - Note: Texture animations are not guaranteed to loop when a PBR texture transform is applied -- cgit v1.2.3 From b7ad221f3783ae953a1e0b4eb227950061c48b13 Mon Sep 17 00:00:00 2001 From: Cosmic Linden Date: Tue, 2 Jul 2024 14:17:40 -0700 Subject: secondlife/viewer#1847: Update test plan: Enumerate support for KHR_texture_transform on prims --- doc/testplans/pbr_materials.md | 2 +- doc/testplans/pbr_terrain_appearance.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/testplans/pbr_materials.md b/doc/testplans/pbr_materials.md index f91e5fd454..1ef7945b94 100644 --- a/doc/testplans/pbr_materials.md +++ b/doc/testplans/pbr_materials.md @@ -2,7 +2,7 @@ ## KHR Texture Transforms -Texture repeats for PBR materials on prims 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 according to the spec. +Texture repeats for PBR materials on prims 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 according to the spec. We currently suport offset, rotation, and scale from the spec. texCoord is not currently supported. PBR materials should have approximately correct lighting based on the normal texture: diff --git a/doc/testplans/pbr_terrain_appearance.md b/doc/testplans/pbr_terrain_appearance.md index 770e39204e..eab5b8bf44 100644 --- a/doc/testplans/pbr_terrain_appearance.md +++ b/doc/testplans/pbr_terrain_appearance.md @@ -39,7 +39,7 @@ PBR terrain does not support materials with alpha blend or double-sided. In addi ## 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. +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. We currently suport offset, rotation, and scale from the spec. texCoord is not currently supported. 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. -- cgit v1.2.3 From 2c46194d706046d46a4c86b6e654ea43861994dc Mon Sep 17 00:00:00 2001 From: Cosmic Linden Date: Fri, 28 Jun 2024 17:31:47 -0700 Subject: secondlife/viewer#1475: Add test plan for PBR terrain texture transforms UI --- doc/testplans/pbr_terrain_composition.md | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'doc') diff --git a/doc/testplans/pbr_terrain_composition.md b/doc/testplans/pbr_terrain_composition.md index 731da90aba..450e887390 100644 --- a/doc/testplans/pbr_terrain_composition.md +++ b/doc/testplans/pbr_terrain_composition.md @@ -87,6 +87,12 @@ 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. +### Saving PBR Terrain Texture Transforms + +If "PBR Metallic Roughness" checkbox is checked, a user with saving composition permissions should also be allowed to edit and save PBR texture transforms. + +One texture transform may be set for each material swatch. Setting texture transforms for each individual texture on the material is not currently supported. + ## Graphics Features Texture terrain with transparency is not permitted to be applied in the viewer. -- cgit v1.2.3 From 95f9946425f34fcee9feb15a5c7dfa1de2452534 Mon Sep 17 00:00:00 2001 From: Cosmic Linden Date: Wed, 10 Jul 2024 11:31:31 -0700 Subject: secondlife/viewer#1885: Update test plan --- 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 731da90aba..c2630d242f 100644 --- a/doc/testplans/pbr_terrain_composition.md +++ b/doc/testplans/pbr_terrain_composition.md @@ -44,6 +44,8 @@ The PBR terrain texture transform flag should be set automatically when logging 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. +**Known issue:** The Region/Estate floater may have to be closed/reopened a second time in order for the UI overhaul to take effect, after teleporting between regions that do and do not have the feature flag set. + 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 -- cgit v1.2.3 From daa240164d8a639abf5a2a227b5e3a7723bacb5b Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Thu, 1 Aug 2024 18:16:50 +0300 Subject: Post pull request contribution doc update (#2077) --- doc/contributions.txt | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'doc') diff --git a/doc/contributions.txt b/doc/contributions.txt index 5a4d276a20..54817ca52d 100755 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -1436,6 +1436,30 @@ Sovereign Engineer SL-18534 SL-19690 SL-19336 + secondlife/viewer/pull/1283 + secondlife/viewer/pull/1287 + secondlife/viewer/pull/1906 + secondlife/viewer/pull/1930 + secondlife/viewer/pull/1941 + secondlife/viewer/pull/1946 + secondlife/viewer/pull/1948 + secondlife/viewer/pull/1950 + secondlife/viewer/pull/1951 + secondlife/viewer/pull/2066 + secondlife/viewer/pull/2077 + secondlife/viewer/pull/2078 + secondlife/viewer/pull/2080 + secondlife/viewer/pull/2085 + secondlife/viewer/pull/2098 + secondlife/viewer/pull/2099 + secondlife/viewer/pull/2105 + secondlife/viewer/pull/2115 + secondlife/viewer/pull/2116 + secondlife/viewer/pull/2124 + secondlife/viewer/pull/2125 + secondlife/viewer/pull/2135 + secondlife/viewer/pull/2136 + secondlife/viewer/pull/2149 SpacedOut Frye VWR-34 VWR-45 -- cgit v1.2.3 From f1fac8127fb7ea7107c2f5af39b9933523fbadca Mon Sep 17 00:00:00 2001 From: Cosmic Linden Date: Tue, 6 Aug 2024 16:30:50 -0700 Subject: secondlife/viewer#1883: Add informal documentation for how to use the local paintmap bake and compare it to the heightmap --- doc/testplans/pbr_terrain_paintmap.md | 48 +++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 doc/testplans/pbr_terrain_paintmap.md (limited to 'doc') diff --git a/doc/testplans/pbr_terrain_paintmap.md b/doc/testplans/pbr_terrain_paintmap.md new file mode 100644 index 0000000000..0dab5fc2eb --- /dev/null +++ b/doc/testplans/pbr_terrain_paintmap.md @@ -0,0 +1,48 @@ +# PBR Terrain Paintmap + +## Introduction/Disclaimer + +As of 2024-08-06, PBR terrain painting is **WIP**. Currently, there is only a client-side terrain paintmap, with no way to directly edit it. This document will explain how to informally explore this feature and compare it to the existing heightmap with noise. In the future, a testing document will be added for PBR terrain painting. + +## Background + +Historically, PBR terrain in a region has several parameters for controlling its composition. These are: + +- The four materials +- The elevation of the terrain, which roughly controls the material, with some noise added on top ("heightmap with noise") +- Material Elevation Ranges, which control where the materials start and end + +This allows for some coarse control over terrain composition. For example, you can have one corner of the terrain be a sandy beach and the rest of the coastline be rocky. Or you can have the peaks of your mountains be covered with snow. However, artistic control is limited due to the gradient imposed by the material elevation ranges, and the unpredictability of the noise. + +A terrain painting option would allow for more control over the terrain composition. The first step to getting that working is the paintmap. + +## How to activate the local paintmap + +The local paintmap is a good way to assess the quality of the PBR terrain paintmap. By default, the newly created local paintmap inherits its composition (i.e. where the grass and dirt goes) from the existing terrain. This allows for a direct comparison with the terrain heightmap-with-noise shader. + +Activating the local paintmap is similar to [applying local PBR terrain via the debug settings](https://wiki.secondlife.com/wiki/PBR_Terrain#How_to_apply_PBR_Terrain), but with a couple extra steps. + +You will need: + +- Four fullperm PBR material items to copy UUIDs from +- A region with a good variation of elevations which showcase the four composition layers (no special permissions needed) + +Open the Debug Settings menu (Advanced > Show Debug Settings) and search for "terrain". The following relevant options are available: + +- LocalTerrainAsset1 +- LocalTerrainAsset1 +- LocalTerrainAsset3 +- LocalTerrainAsset4 +- LocalTerrainPaintEnabled +- TerrainPaintBitDepth +- TerrainPaintResolution + +By setting LocalTerrainAsset1, etc to valid material IDs, you will override the terrain to use those materials. + +The next step is to "bake" the terrain into a paintmap (Develop > Terrain > Create Local Paintmap). This will *automatically* set LocalTerrainPaintEnabled to true. **WARNING:** LocalTerrainPaintEnabled will *not* do anything until one of LocalTerrainAsset1, etc is set. + +You are now looking at the same terrain, but rendered as a paintmap. + +To compare the quality of the paintmap version and the heightmap-with-noise version, toggle LocalTerrainPaintEnabled in Debug Settings. + +To change the bit depth and/or resolution of the paintmap, change TerrainPaintBitDepth and TerrainPaintResolution as desired, then "re-bake" the paintmap (Develop > Terrain > Create Local Paintmap). -- cgit v1.2.3 From e42e95d87896fa3be0b48108dc3b79af2e1caf66 Mon Sep 17 00:00:00 2001 From: Cosmic Linden Date: Tue, 3 Sep 2024 10:05:44 -0700 Subject: secondlife/viewer#2483: Fix label typo in PBR terrain texture transforms tab --- doc/contributions.txt | 1 + 1 file changed, 1 insertion(+) (limited to 'doc') diff --git a/doc/contributions.txt b/doc/contributions.txt index 54817ca52d..1f911a8b39 100755 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -1210,6 +1210,7 @@ PanteraPolnocy SL-18937 SL-19207 SL-19681 + secondlife/viewer#2483 Parvati Silverweb Patric Mills VWR-2645 -- cgit v1.2.3