summaryrefslogtreecommitdiff
path: root/doc/testplans/material_preview.md
blob: 6d2768f72a5bbeb5d01759e524a7f473bb34dba3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# 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:

- 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

- 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 https://github.com/secondlife/viewer-issues/issues/72 is fixed.

#### Symptoms

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
- 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 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
- 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 https://github.com/secondlife/viewer-issues/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