Viewer Materials Smoke Test

From Second Life Wiki
Jump to navigation Jump to search

Overview

  • This test plan covers viewer-side support for the prim materials project, which provides support for normal maps and specular maps applied to object faces
  • A high-level specification of this featureset can be found at Material_Data

Build Tool Test

Required Materials

  • A region which supports normal and specular maps
  • Three test users
    • UserA, who uses a viewer which supports normal and specular maps, and does the building (actually performs operations)
    • UserB, who uses a viewer which supports normal and specular maps, and only observes the results of UserA's work
      • The purpose of this user is to verify that build tool edits sent by UserA's viewer produce congruent results
    • UserC, who uses an 'old' (no support for normal and specular maps) viewer, and only observes the results of UserA's work
      • The purpose of this user is to verify that edited content looks reasonable on legacy viewers, and sometimes to verify that build tool settings from the new viewer have the same appearance as those set by the legacy viewer.
    • UserA and UserB should have "Advanced Lighting Model" enabled under Preferences -> Graphics settings, under "Advanced". This setting is required for the viewer to render normal and specular maps properly.
  • Upload the following textures to use in this test:

Verify Basic Build Tool Layout

Verify that non-Texture portions of the build tool have not changed

  1. UserA, UserB, and UserC: login
  2. UserA and UserC: each rez a box
  3. UserA and UserC: select the box that you rezzed, and select Edit from the context menu
  4. UserA and UserC: verify that your build tools appear, and that the appearance is identical in the following tabs:
    • General
    • Object
    • Features
    • Content
  5. UserA and UserC: verify that the build tool UI is the same for each of the build tool modes (top row of buttons)
    • Focus (magnifying glass icon)
    • Move (hand icon)
    • Edit (mouse cursor icon)
    • Create (magic wand icon)
    • Land (bulldozer icon)
  6. UserA: deselect the box
  7. UserA, UserB, and UserC: verify that UserA's box still looks like a default box (has not changed appearance)

Verify layout and default values of build tool's Texture tab

  1. UserA, UserB, and UserC: login
  2. UserA: Rez a box, select it, and hit 'Edit' to open the build tool
  3. UserA: Open the Texture tab of the build tool, and verify that the layout basically matches the image here (minus colorful lines): File:MaterialsBuildUI1.png. Verify that the following defaults are set:
    • Verify that "Materials" is the default face edit mode
    • Verify that "Texture (diffuse)" is the default texture edit mode
    • Verify that the Color appears white
    • Verify that Transparency is 0%
    • Verify that Glow is 0.00
    • Verify that 'Full Bright' is disabled
    • Verify that the texture preview shows the default plywood texture
    • Verify that 'Alpha mode' is 'Alpha blending'
    • Verify that 'Mask cutoff' does *not* appear (this option is not applicable in this alpha mode)

Verify layout and default values for Mapping option

  1. UserA, UserB, and UserC: login
  2. UserA: Rez a box, select it, and hit 'Edit' to open the build tool. Open the Texture tab of the build tool.
    • Verify that 'Repeats' is 'per face (default)'
      • Verify that the texture mapping settings match the 'Mapping = default' section in '2b' of this reference image: File:MaterialsBuildUI1.png.. Verify that the following defaults are set:
      • Verify that 'Horizontal scale' and 'Vertical scale' are both 1.00
      • Verify that 'Repeats per meter' is 2.0 (2.0/meter corresponds to 1.0/face on a 50cm cube face), and can be edited
      • Verify that 'Rotation' is 0.00
      • Verify that 'Horizontal offset' and 'Vertical offset' are both 0.00
      • Verify that 'Align planar faces' is *not* visible
  3. UserA: Deselect the box
  4. UserA, UserB, and UserC: verify that the box's appearance has not changed (since no edits have been made)
  5. UserA: Reselect the box, and 'Edit' it again
  6. UserA: Under the Texture tab, change the 'Mapping' setting to 'Planar'
    • Verify that the texture mapping settings match the 'Mapping = planar' section in '2b' of this reference image: File:MaterialsBuildUI1.png.. Verify that the following defaults are set:
      • Verify that 'Number of repeats' is 2.00, and *cannot* be edited (is read-only)
      • Verify that 'Rotation' is 0.00
      • Verify that 'Horizontal offset' and 'Vertical offset' are both 0.00
      • Verify that 'Align planar faces' is visible, unchecked and enabled (*can* be edited)
  7. UserA: Deselect the box
    • UserA, UserB, and UserC: verify that the box's appearance has not changed (since the change to 'planar' mapping by itself has no visible effect on this box)

Verify build tool editing of texture settings

    • Note: UserA: run the following tests for texture settings., for both planar and default texture mapping modes
    • Note: UserB, and UserC: throughout the test, verify that you see the expected results based on the observer Viewer in use.

Texture Mapping: Diffuse texture, Default mode

  1. UserA: Set the Texture panel's dropdowns to read:
    • Materials
    • Texture (diffuse)
    • Mapping: Default
  2. UserA: Create a new cube prim for use in this test.
  3. UserA: Verify that clicking Texture box will open the Pick: Texture floating window, allowing you to select a new texture.
  4. UserA: Verify that you can drag a texture from your Inventory window to the box, or directly to the object.
  5. User A: Verify that if the Select Face item is NOT selected, texture changes are applied to all sides at once.
  6. UserA: Verify that if the Select Face item in the upper pane of the Tools window is selected, you can change one face of the object at a time.
  7. UserA: Apply the texture, File:TestDiffuse001.png, to a single face of the prim (while in Select Face mode). This should result in the prim having two textures. The "100" image should appear on only one face.
  8. UserA: Verify that if an object uses more than one texture, the word Multiple will appear in the Texture image box over one of the texture images.
  9. UserA: Deselect the box
    • UserA, UserB, and UserC: verify that the box's appearance has changed to show two textures, one on a single face the other on all other faces
  10. UserA: Verify that clicking Color box will open the Color Picker floating window.
  11. UserA: Verify that color tints selected are additive to the color of the base texture.
  12. UserA: Verify that using Transparency you can choose transparency level of the object.
  13. UserA: Verify that this setting applies an overall transparency to the texture in addition to any transparency in the alpha channel. The range is 0 to 100 percent. Set to 50%.
  14. UserA: Deselect the box
    • UserA, UserB, and UserC: verify that the box's appearance has changed to show a color tint and is semi-transparent.
  15. UserA: Verify that using Glow item you can create a surface glow on the object, separate from the light emitted with the Features tab. The range is 0 to 1, but any glow above 0.1 tends to wash out the surface texture.
  16. UserA: Deselect the box
    • UserA, UserB, and UserC: verify that the box's appearance has changed to add glow.
  17. UserA: Enable Full Bright.
  18. UserA: Deselect the box
    • UserA, UserB, and UserC: verify that the box renders as if fully day-lighted, regardless of the environment day cycle position of the sun.
    • (Use World > Sun >
  19. UserA: Change Transparency and Glow settings back to 0, and disable Full Bright.
  20. Rez a 0.5 (default-size) cube and add <test texture> via the texture picker.
  21. UserA: set Horizontal Scale to 2
  22. UserA: set horizontal offset to 0.5
  23. UserA: Verify Repeats per Meter value has automatically changed to 4.0
  24. UserA: Deselect the box
    • UserA, UserB, and UserC: Verify the number of repeats visible on each prim face matches the Horizontal Scale setting: 2 repeats, side-by-side.
  25. UserA: set Vertical Scale to 2
  26. UserA: set Vertical Offset to 0.5
  27. UserA: Verify Repeats per Meter value remains at 4.0
  28. UserA: Deselect the box
    • UserA, UserB, and UserC: Verify the number of repeats visible on each prim face matches the Horizontal Scale plus the Vertical Scale: 4 repeats in a 2x2 grid
  29. UserA: set Horizontal Scale to 1
  30. UserA: set Horizontal offset to 0
  31. UserA: Verify Repeats per Meter value remains at 4.0 (since this value now reflects the maximum density between horizontal and vertical scales)
  32. UserA: Deselect the box
    • UserA, UserB, and UserC: Verify the number of repeats visible on each prim face matches the Horizontal Scale setting: 2 repeats, one above the other.
  33. UserA: Verify that Rotation controls rotation of the texture relative to vertical. Range is -360° to 360°.
  34. UserA: Deselect the box
    • UserA, UserB, and UserC: verify that for Rotation Degrees edits, the shift is along the texture, not the object face.
  35. UserA: Verify that Align Planar Faces is disabled/greyed out when in the Mapping Default mode

Texture Mapping: Diffuse texture, Planar mode

  1. Set the Texture panel's dropdowns to read:
    • Materials
    • Texture (diffuse)
    • Mapping: Planar
  2. UserA: Verify that the Repeats/Meter value is disabled/greyed out when in the Mapping Planar mode is active
  3. Rez a cube and resize it to 1m per side. Reposition the cube so the entire prim can be viewed. Add the texture File:TestDiffuse001.png via the texture picker.
  4. UserA: set Repeats per Meter to 2
  5. UserA: Verify both horizontal and vertical scale field values have automatically changed to 2.0
  6. UserA: set horizontal offset to 0.5
  7. UserA: set Vertical offset to 0.5
  8. UserA: Deselect the box
    • UserA, UserB, and UserC: Verify the number of repeats visible on each plane of each prim face matches the Repeats per Meter value: A value of 2 gives 4 repeats, 2 along each plane in a 2x2 grid
  9. UserA: Verify that Rotation controls rotation of the texture relative to vertical. Range is -360° to 360°.
  10. UserA: Deselect the box
    • UserA, UserB, and UserC: verify that for Rotation Degrees edits, the shift is along the texture, not the object face.
  11. Align Planar Faces test TBD

Verify functionality of 'Alpha mode' option

No Mask is forced for textures without an alpha channel

  1. UserA, UserB, and UserC: login
  2. UserA: Take a snapshot (ctrl+S) and 'Save to inventory'
  3. UserA: Rez a box, select it, and hit 'Edit' to open the build tool.
  4. UserA: Set the snapshot as the texture on the box
  5. UserA: Verify that the 'Alpha mode' setting is 'None', and that the UI for changing 'Alpha mode is disabled'
    • Verify that the 'Mask cutoff' setting is hidden
  6. UserA, UserB, and UserC: Verify that the snapshot appears on the box, and that it is fully opaque

Alpha Blending

  1. UserA, UserB, and UserC: login
  2. UserA: Upload this alpha-mapped image to your inventory: File:Maestro_alpha_gradient.png
  3. UserA: Rez a box, select it, and hit 'Edit' to open the build tool. Open the Texture tab of the build tool.
  4. UserA: Using the texture picker from the build tool, set the image you uploaded on all faces of the box
  5. UserA, UserB, and UserC: verify that you see a 'smooth' transparency transition in the texture on all faces, with the bottom of the image being opaque and the top being transparent. This is the expected result when the 'Alpha mode' is set to the default 'Alpha blending' setting

Alpha Masking

  1. UserA, UserB, and UserC: login
  2. UserA: Upload this alpha-mapped image to your inventory (if you don't already have it): File:Maestro_alpha_gradient.png
  3. UserA: Rez a box, select it, and hit 'Edit' to open the build tool. Open the Texture tab of the build tool, and set the texture to the one you just uploaded.
  4. UserA: Set the 'Alpha mode' to 'Alpha masking'
    • Verify that the 'Mask cutoff' setting appears, and that the default value for it is 0
  5. UserA, UserB: verify that the box's texture appears (almost) completely opaque
  6. UserC: verify that you see no change (since your viewer doesn't support alpha masking)
  7. UserA: set the 'Mask cutoff' setting to 76
  8. UserA, UserB: Verify that the top 30% of the texture is now invisible, but the bottom 70% is totally opaque
  9. UserC: verify that you see no change
  10. UserA: set the 'Mask cutoff' setting to 178
  11. UserA, UserB: Verify that the top 70% of the texture is now invisible, but the bottom 30% is totally opaque
  12. UserC: verify that you see no change
  13. UserA: set the 'Mask cutoff' setting to 255
  14. UserA, UserB: Verify that the texture is now almost completely invisible (except perhaps a strip at the bottom)
  15. UserC: verify that you see no change
  16. UserA: Try to input 'Mask cutoff' settings < 0, and verify that they get slammed to 0 by the build tool UI
  17. UserA: Try to input 'Mask cutoff' settings > 255, and verify that they get slammed to 255 by the build tool UI

Emissive Mask

  1. UserA, UserB, and UserC: login
  2. UserA: Upload this alpha-mapped image to your inventory (if you don't already have it): File:Kart_screenshot_with_G_alpha.png
  3. UserA: Rez a box, select it, and hit 'Edit' to open the build tool. Open the Texture tab of the build tool, and set the texture to the one you just uploaded.
  4. UserA, UserB, and UserC: Verify that the image on the box appears mostly transparent, with a "G" in the middle as an opaque section
  5. UserA: Set the 'Alpha mode' to 'Emissive mask'
    • Verify that the 'Mask cutoff' setting remains hidden
  6. UserA and UserB: verify that the box's appearance has changed. The whole texture should be opaque, but there should be a glowing 'G' in the texture.
  7. UserC: verify that the box's appearance has not changed (and you just see the image as mostly transparent with the opaque 'G')

No Mask (on a texture with an alpha channel)

  1. UserA, UserB, and UserC: login
  2. UserA: Upload this alpha-mapped image to your inventory (if you don't already have it): File:Kart_screenshot_with_G_alpha.png
  3. UserA: Rez a box, select it, and hit 'Edit' to open the build tool. Open the Texture tab of the build tool, and set the texture to the one you just uploaded.
  4. UserA, UserB, and UserC: Verify that the image on the box appears mostly transparent, with a "G" in the middle as an opaque section
  5. UserA: Set the 'Alpha mode' to 'None'
    • Verify that the 'Mask cutoff' setting remains hidden
  6. UserA and UserB: verify that the box's appearance has changed. The whole texture should be opaque, and no 'G' should be visible.
  7. UserC: verify that the box's appearance has not changed (and you just see the image as mostly transparent with the opaque 'G')

Verify functionality of 'Bumpiness' settings

Layout of Bumpiness settings

  1. UserA, UserB, and UserC: login
  2. UserA: Rez a box, select it, and hit 'Edit' to open the build tool.
  3. UserA: In the Texture tab, change the edit mode from "Texture (diffuse)" to "Bumpiness (normal)"
  4. UserA: Verify that the build tool layout looks like the 'Materials > Normal' section from this mockup File:BuildTool_Bumpiness_Shininess.png
  5. UserA: Verify the following default settings:
    • Verify that the Texture preview is empty, with a black-on-grey "X" (indicating that no normal map is set)
    • Verify that the 'Bumpiness' setting is currently 'None'
    • Verify that the 'Mapping' setting is 'Default'
    • Verify that 'Horizontal scale' is 1.0
    • Verify that 'Vertical scale' is 1.0
    • Verify that 'Repeats per meter' is enabled, and is 2.0 (this corresponds to a horizontal scale of 1.0 for a 50cm object)
    • Verify that 'Rotation' is 0.0
    • Verify that 'Horizontal offset' is 0.0
    • Verify that 'Vertical offset' is 0.0
    • Verify that 'Align planar faces' is disabled and cannot be edited
  6. UserA: Deselect the object
  7. UserA, UserB, UserC: verify that the box's appearance is unchanged (was not accidentally edited)

Legacy Bumpiness

  1. UserA, UserB, and UserC: login
  2. UserA: Rez a box, select it, and hit 'Edit' to open the build tool.
  3. UserA: In the Texture tab, change the edit mode from "Texture (diffuse)" to "Bumpiness (normal)"
  4. UserA: Verify that you see the following options under the Bumpiness menu:
    • None
    • Brightness
    • Darkness
    • woodgrain
    • bark
    • bricks
    • checker
    • concrete
    • crustytile
    • cutstone
    • discs
    • gravel
    • petridish
    • siding
    • stonetile
    • stucco
    • suction
    • weave
  5. UserC: Rez a box and edit it with the build tool
  6. For each of the bumpiness menu options *except* for 'None', do the following:
    • UserA and UserC: select the same bumpiness menu option for your object's texture
    • UserA, UserB, and UserC: Verify that UserA's box has the same appearance as UserC's box
    • UserA: Verify that all of the texture mapping controls (scale, offset, rotation, align planar faces, etc.) are disabled in the UI (grayed out) when in this mode

Normal Map Texture Selection

  1. UserA, UserB, and UserC: login
  2. UserA: if you don't already have them in your inventory, upload these two textures to SL
  3. UserA: Rez a box, select it, and hit 'Edit' to open the build tool.
  4. UserA: Set the uploaded diffuse texture as the diffuse texture on your object
  5. UserA: In the Texture tab, change the edit mode from "Texture (diffuse)" to "Bumpiness (normal)"
  6. UserA: Verify that the Texture preview is empty, with a black-on-grey "X" (indicating that no normal map is set)
  7. UserA: Click on the texture icon, then choose the uploaded normal map using the texture picker
  8. UserA: Verify that the Texture preview shows the normal map you selected
  9. UserA: Verify that 'Bumpiness' is now set to "Use Texture"
  10. UserA and UserB: Verify that the uploaded textures appear on the box face at full scale, and are aligned. You should see a large '001' in the middle, due to the normal map effect.
  11. UserC: Verify that you can see the diffuse texture, but no bump map effect
  12. UserA: From the 'Bumpiness' menu, choose 'None'
  13. UserA: Verify that the Texture preview is now empty, with a black-on-grey "X" (indicating that no normal map is set)
  14. UserA, UserB, and UserC: Verify that you can see the diffuse texture, but no bump map effect
  15. UserA: Drag the uploaded normal map from your inventory onto the Texture preview icon
  16. UserA: Verify that the Texture preview shows the normal map you selected
  17. UserA: Verify that 'Bumpiness' becomes set to "Use Texture"
  18. UserA and UserB: Verify that you see both the normal map and diffuse map applied on the rendered box
  19. UserC: Verify that you can see the diffuse texture, but no normal map effect

Normal Map Texture mapping

Normal texture, Default mapping

  1. Set the Texture panel's dropdowns to read:
    • Materials
    • Bumpiness (normal)
    • Mapping: Default
  2. UserA: change the prim's texture to File:TestNormal001.png
  3. UserA: set Horizontal Scale to 2
  4. UserA: set horizontal offset to 0.5
  5. UserA: Verify Repeats per Meter value has automatically changed to 4.0
  6. UserA: Deselect the box
    • UserA, UserB, and UserC: Verify the number of repeats visible on each prim face matches the Horizontal Scale setting: 2 repeats, side-by-side.
  7. UserA: set Vertical Scale to 2
  8. UserA: set Vertical Offset to 0.5
  9. UserA: Verify Repeats per Meter value remains at 4.0
  10. UserA: Deselect the box
    • UserA, UserB, and UserC: Verify the number of repeats visible on each prim face matches the Horizontal Scale plus the Vertical Scale: 4 repeats in a 2x2 grid
  11. UserA: set Horizontal Scale to 1
  12. UserA: set Horizontal offset to 0
  13. UserA: Verify Repeats per Meter value remains at 4.0
  14. UserA: Deselect the box
    • UserA, UserB, and UserC: Verify the number of repeats visible on each prim face matches the Horizontal Scale setting: 2 repeats, one above the other.
  15. UserA: Verify that Rotation controls rotation of the texture relative to vertical. Range is -360° to 360°.
  16. UserA: Deselect the box
    • UserA, UserB, and UserC: verify that for Rotation Degrees edits, the shift is along the texture, not the object face.
  17. UserA: Verify that Align Planar Faces is disabled/greyed out when in the Mapping Default mode

Normal texture, Planar mapping

  1. UserA, UserB, UserC: Login
  2. UserA: Rez a cube and resize it to 1m per side. Reposition the cube so the entire prim can be viewed. Add <test texture> via the texture picker.
  3. UserA: Set the Texture panel's dropdowns to read:
    • Materials
    • Bumpiness (normal)
    • Mapping: Planar
  4. UserA: Verify that the Repeats/Meter value is disabled/greyed out when in the Mapping Planar mode is active
  5. UserA: set Repeats per Meter to 2
  6. UserA: Verify both horizontal and vertical scale field values have automatically changed to 2.0
  7. UserA: set horizontal offset to 0.5
  8. UserA: set Vertical offset to 0.5
  9. UserA: Deselect the box
    • UserA, UserB, and UserC: Verify the number of repeats visible on each plane of each prim face matches the Repeats per Meter value: A value of 2 gives 4 repeats, 2 along each plane in a 2x2 grid
  10. UserA: Verify that Rotation controls rotation of the texture relative to vertical. Range is -360° to 360°.
  11. UserA: Deselect the box
    • UserA, UserB, and UserC: verify that for Rotation Degrees edits, the shift is along the texture, not the object face.
  12. Align Planar Faces test TBD

Verify functionality of 'Shininess' settings

Layout of Shininess settings

  1. UserA, UserB, and UserC: login
  2. UserA: Rez a box, select it, and hit 'Edit' to open the build tool.
  3. UserA: In the Texture tab, change the edit mode from "Texture (diffuse)" to "Shininess (specular)"
  4. UserA: Verify that the build tool layout looks like this mockup: File:BuildtoolSpecular-NoTexture.png
  5. UserA: Verify the following default settings:
    • Verify that the Texture preview is empty, with a black-on-grey "X" (indicating that no specular map is set)
    • Verify that the 'Shininess' setting is currently 'None'
    • Verify that 'Glossiness' is hidden in this mode
    • Verify that 'Environment' is hidden in this mode
    • Verify that the 'Color' is hidden in this mode
    • Verify that the 'Mapping' setting is 'Default', and cannot be edited
    • Verify that 'Horizontal scale' is 1.0, and cannot be edited
    • Verify that 'Vertical scale' is 1.0, and cannot be edited
    • Verify that 'Repeats per meter' is 2.0 (this corresponds to a horizontal scale of 1.0 for a 50cm object), and cannot be edited
    • Verify that 'Rotation' is 0.0, and cannot be edited
    • Verify that 'Horizontal offset' is 0.0, and cannot be edited
    • Verify that 'Vertical offset' is 0.0, and cannot be edited
    • Verify that 'Align planar faces' is disabled, and cannot be edited
  6. UserA: Deselect the object
  7. UserA, UserB, UserC: verify that the box's appearance is unchanged (was not accidentally edited)

Legacy Shiny

  1. UserA, UserB, and UserC: login
  2. UserA: Rez a box, select it, and hit 'Edit' to open the build tool.
  3. UserA: In the Texture tab, change the edit mode from "Texture (diffuse)" to "Shininess (specular)"
  4. UserA: Verify that you see the following options under the Shininess menu:
    • None
    • Low
    • Medium
    • High
  5. UserC: Rez a box and edit it with the build tool
  6. Do the following for Shininess settings 'Low', 'Medium', and 'High':
    • UserA and UserC: select the same Shininess menu option for your object's texture
    • UserA, UserB, and UserC: Verify that UserA's box has the same appearance as UserC's box
    • UserA: Verify that all of the texture mapping controls (scale, offset, rotation, align planar faces, etc.) are disabled in the UI (grayed out) when in this mode
    • UserA: Verify that Glossiness, Environment, and Color settings are not visible when in this mode.

Specular Map Texture Selection

  1. UserA, UserB, and UserC: login
  2. UserA: if you don't already have them in your inventory, upload these two textures to SL
  3. UserA: Rez a box, select it, and hit 'Edit' to open the build tool.
  4. UserA: Set the uploaded diffuse texture as the diffuse texture on your object
  5. UserA: In the Texture tab, change the edit mode from "Texture (diffuse)" to "Shininess (specular)"
  6. UserA: Verify that the Texture preview is empty, with a black-on-grey "X" (indicating that no specular map is set)
  7. UserA: Click on the texture icon, then choose the uploaded specular map using the texture picker
  8. UserA: Verify that the Texture preview shows the specular map you selected
  9. UserA: Verify that 'Shininess' is now set to "Use texture"
    • Verify that the floater has new elements, and now looks like File:BuildtoolSpecular-UseTexture.png
      • Verify that Glossiness has a default value of 51
      • Verify that Environment has a default value of 0
      • Verify that Color defaults to white
  10. UserA and UserB: Verify that the uploaded textures appear on the box face at full scale, and are aligned.
    • The stained parts and the scratches should be less shiny than other parts of the texture
  11. UserC: Verify that you can see the diffuse texture, but no shiny effect
  12. UserA: From the 'Shininess' menu, choose 'None'
  13. UserA: Verify that the Texture preview is now empty, with a black-on-grey "X" (indicating that no normal map is set)
  14. UserA: Verify that the build tool layout has reverted to the style shown here: File:BuildtoolSpecular-NoTexture.png
  15. UserA, UserB, and UserC: Verify that you can see the diffuse texture, but no specular map effect
  16. UserA: Drag the uploaded specular map from your inventory onto the Texture preview icon
  17. UserA: Verify that the Texture preview shows the specular map you selected
  18. UserA: Verify that 'Shininess' becomes set to "Use Texture"
  19. UserA and UserB: Verify that the uploaded textures appear on the box face at full scale, and are aligned
  20. UserC: Verify that you can see the diffuse texture, but no specular map effect

Specular Map Glossiness and Environment

  1. UserA, UserB, and UserC: login
  2. UserA: if you don't already have them in your inventory, upload these two textures to SL
  3. UserA: Rez a box, select it, and hit 'Edit' to open the build tool.
  4. UserA: Set the uploaded diffuse texture as the diffuse texture on your object
  5. UserA: In the Texture tab, change the edit mode from "Texture (diffuse)" to "Shininess (specular)"
  6. UserA: Click on the texture icon, then choose the uploaded specular map using the texture picker
  7. UserA and UserB: verify that you see the object with the specular map applied
  8. UserC: Verify that you can see the diffuse texture, but no specular map effect
  9. UserA: Verify these default settings:
    • Glossiness should be 51
    • Environment should be 0
  10. UserA: Increase the Environment setting to 204
  11. UserA and UserB: Verify that the reflected color of the object now includes more of the environment (blue highlights from the sky color)
  12. UserC: verify that you see no change
  13. UserA: Try to enter an Environment setting > 255, and verify that the UI slams it to 255
  14. UserA: Try to enter an Environment setting < 0, and verify that the UI slams it to 0
  15. UserA: Increase the Glossiness setting to 204
  16. UserA and UserB: Verify that the specular highlights are now more 'blurred'
  17. UserC: verify that you see no change
  18. UserA: Try to enter a Glossiness setting > 255, and verify that the UI slams it to 255
  19. UserA: Try to enter a Glossiness setting < 0, and verify that the UI slams it to 0

Specular Map Texture mapping

Specular texture, Default mapping

  1. Set the Texture panel's dropdowns to read:
    • Materials
    • Shininess (specular)
    • Mapping: Default
  2. UserA: change the prim's texture to File:TestSpecular001.png
  3. UserA: set Horizontal Scale to 2
  4. UserA: set horizontal offset to 0.5
  5. UserA: Verify Repeats per Meter value has automatically changed to 4.0
  6. UserA: Deselect the box
    • UserA, UserB, and UserC: Verify the number of repeats visible on each prim face matches the Horizontal Scale setting: 2 repeats, side-by-side.
  7. UserA: set Vertical Scale to 2
  8. UserA: set Vertical Offset to 0.5
  9. UserA: Verify Repeats per Meter value remains at 4.0
  10. UserA: Deselect the box
    • UserA, UserB, and UserC: Verify the number of repeats visible on each prim face matches the Horizontal Scale plus the Vertical Scale: 4 repeats in a 2x2 grid
  11. UserA: set Horizontal Scale to 1
  12. UserA: set Horizontal offset to 0
  13. UserA: Verify Repeats per Meter value remains at 4.0
  14. UserA: Deselect the box
    • UserA, UserB, and UserC: Verify the number of repeats visible on each prim face matches the Horizontal Scale setting: 2 repeats, one above the other.
  15. UserA: Verify that Rotation controls rotation of the texture relative to vertical. Range is -360° to 360°.
  16. UserA: Deselect the box
    • UserA, UserB, and UserC: verify that for Rotation Degrees edits, the shift is along the texture, not the object face.
  17. UserA: Verify that Align Planar Faces is disabled/greyed out when in the Mapping Default mode

Specular texture, Planar mapping

  1. UserA, UserB, UserC: Login
  2. UserA: Rez a cube and resize it to 1m per side. Reposition the cube so the entire prim can be viewed. Add <test texture> via the texture picker.
  3. UserA: Set the Texture panel's dropdowns to read:
    • Materials
    • Shininess (specular)
    • Mapping: Planar
  4. UserA: Verify that the Repeats/Meter value is disabled/greyed out when in the Mapping Planar mode is active
  5. UserA: set Repeats per Meter to 2
  6. UserA: Verify both horizontal and vertical scale field values have automatically changed to 2.0
  7. UserA: set horizontal offset to 0.5
  8. UserA: set Vertical offset to 0.5
  9. UserA: Deselect the box
    • UserA, UserB, and UserC: Verify the number of repeats visible on each plane of each prim face matches the Repeats per Meter value: A value of 2 gives 4 repeats, 2 along each plane in a 2x2 grid
  10. UserA: Verify that Rotation controls rotation of the texture relative to vertical. Range is -360° to 360°.
  11. UserA: Deselect the box
    • UserA, UserB, and UserC: verify that for Rotation Degrees edits, the shift is along the texture, not the object face.
  12. Align Planar Faces test TBD

Verify functionality of 'Media' settings

Layout and Default Values of Media Settings

  1. UserA, UserB, and UserC: login
  2. UserA: Rez a box, select it, and hit 'Edit' to open the build tool
  3. UserA: In the Texture tab, change the edit mode from "Materials" to "Media".
  4. UserA: Verify that the build tool layout looks like this mockup: File:BuildToolMediaMode.png
  5. UserA: Verify that the following defaults are set:
    • Verify that the Color appears white
    • Verify that Transparency is 0%
    • Verify that Glow is 0.00
    • Verify that 'Full Bright' is disabled
    • Verify that 'Mapping' is 'Default
      • Verify that 'Horizontal scale' and 'Vertical scale' are both 1.00
      • Verify that 'Repeats per meter' is 2.0 (2.0/meter corresponds to 1.0/face on a 50cm cube face), and can be edited
      • Verify that 'Rotation' is 0.00
      • Verify that 'Horizontal offset' and 'Vertical offset' are both 0.00
    • Verify that 'Align planar faces' is unchecked and cannot be edited (is 'greyed out')'
  6. UserA, UserB, UserC: verify that the box's appearance is unchanged (was not accidentally edited)

Adding, and removing, and aligning media

  1. UserA, UserB, and UserC: login
  2. UserA: Rez a box, select it, and hit 'Edit' to open the build tool
  3. UserA: Change your selection mode to "Select Face" and select only the top face
  4. UserA: In the Texture tab, change the edit mode from "Materials" to "Media".
  5. UserA: Click on the "Choose.." button, and verify that the "MEDIA SETTINGS" floater appears, and looks like this: File:BuildToolMediaSettings.png
  6. UserA: Type "http://secondlife.com" into the Home Page text field in "MEDIA SETTINGS", and hit "Apply"
  7. UserA, UserB, and UserC: Verify that you see the SL website appear on the box's top face
  8. UserA: Change the 'Horizontal offset' value to 0.2
  9. UserA, UserB, and UserC: Verify that the SL website on the box is now slightly offset
  10. UserA: Click on the 'Align' button to align the website with the box's edges
  11. UserA, UserB, and UserC: Verify that the SL website on the box is now aligned with the box edges
  12. UserA: Click on the 'Remove' button to remove the prim media
  13. UserA: Verify that you see a modal dialog, asking to confirm media removal. Click "No"
  14. UserA, UserB, and UserC: Verify that the SL website on the box is unchanged
  15. UserA: Click on the 'Remove' button to remove the prim media
  16. UserA: Verify that you see a modal dialog, asking to confirm media removal. Click "Yes"
  17. UserA, UserB, and UserC: Verify that the SL website has disappeared from the box, and that the changed face is back to the default plywood texture

Media Texture Mapping

Media, Default mapping

  1. UserA, UserB, UserC: login
  2. UserA: Rez a box, and edit one of its faces with the Build Tool
  3. UserA: Set the Texture panel's dropdowns to read:
    • Media
    • Mapping: Default
  4. UserA: Add media to a face on the box, using "http://secondlife.com", as in #Layout_and_Default_Values_of_Media_Settings
  5. UserA: set Horizontal Scale to 2
  6. UserA: set horizontal offset to 0.5
  7. UserA: Verify Repeats per Meter value has automatically changed to 4.0
  8. UserA: Deselect the box
    • UserA, UserB, and UserC: Verify the number of repeats visible on each prim face matches the Horizontal Scale setting: 2 repeats, side-by-side.
  9. UserA: set Vertical Scale to 2
  10. UserA: set Vertical Offset to 0.5
  11. UserA: Verify Repeats per Meter value remains at 4.0
  12. UserA: Deselect the box
    • UserA, UserB, and UserC: Verify the number of repeats visible on each prim face matches the Horizontal Scale plus the Vertical Scale: 4 repeats in a 2x2 grid
  13. UserA: set Horizontal Scale to 1
  14. UserA: set Horizontal offset to 0
  15. UserA: Verify Repeats per Meter value remains at 4.0
  16. UserA: Deselect the box
    • UserA, UserB, and UserC: Verify the number of repeats visible on each prim face matches the Horizontal Scale setting: 2 repeats, one above the other.
  17. UserA: Verify that Rotation controls rotation of the texture relative to vertical. Range is -360° to 360°.
  18. UserA: Deselect the box
    • UserA, UserB, and UserC: verify that for Rotation Degrees edits, the shift is along the texture, not the object face.
  19. UserA: Verify that Align Planar Faces is disabled/greyed out when in the Mapping Default mode

Media, Planar mapping

  1. UserA, UserB, UserC: Login
  2. UserA: Rez a cube and resize it to 1m per side. Reposition the cube so the entire prim can be viewed. Add <test texture> via the texture picker.
  3. UserA: Set the Texture panel's dropdowns to read:
    • Media
    • Mapping: Planar
  4. UserA: Verify that the Repeats/Meter value is disabled/greyed out when in the Mapping Planar mode is active
  5. Rez a cube and resize it to 1m per side. Reposition the cube so the entire prim can be viewed. Add <test texture> via the texture picker.
  6. UserA: set Repeats per Meter to 2
  7. UserA: Verify both horizontal and vertical scale field values have automatically changed to 2.0
  8. UserA: set horizontal offset to 0.5
  9. UserA: set Vertical offset to 0.5
  10. UserA: Deselect the box
    • UserA, UserB, and UserC: Verify the number of repeats visible on each plane of each prim face matches the Repeats per Meter value: A value of 2 gives 4 repeats, 2 along each plane in a 2x2 grid
  11. UserA: Verify that Rotation controls rotation of the texture relative to vertical. Range is -360° to 360°.
  12. UserA: Deselect the box
    • UserA, UserB, and UserC: verify that for Rotation Degrees edits, the shift is along the texture, not the object face.
  13. Align Planar Faces test TBD

Materials Loading Test

This test verifies that the viewer can fetch materials data and render it properly.

Obtaining Test Objects

This test requires using 2 test objects which each contain many materials.

Some prepared test objects can be found at Bug Island. There are 2 test linksets, each containing 50 unique materials:

  • MaterialsObject01-50 contains 50 boxes, numbered by 01-50 with matching diffuse, normal, and specular maps.
  • MaterialsObject51-100 contains 50 boxes, numbered by 51-100 with matching diffuse, normal, and specular maps.

Both link sets have prims that spin with llTargetOmega(), in order to make the specular maps more visible. You can modify the script in the root prim to remove this effect.

Materials load when rezzed

  1. Log in
  2. Find a pair of neighboring regions which both allow you to rez objects, and move near the sim border
  3. Rez 'MaterialsObject01-50' in the region your avatar is in
  4. Without much delay, rez 'MaterialsObject51-100' in the neighboring region
  5. Verify that all diffuse/normal/specular maps for both linksets load in a timely manner
    • This may take a short while, since the viewer needs to download 300 separate textures for these objects

Materials load upon login

  1. Complete the #Materials_load_when_rezzed test first
  2. Log out
  3. Login to the location where the objects were rezzed
  4. Verify that all diffuse/normal/specular maps for both linksets load in a timely manner
    • This should be relatively fast, since the viewer should have these textures in its cache

Materials Rendering Test

Rendering of Legacy Bumpmaps and Shiny

Note: this was lifted from Render_Correctness_Test

  1. Go to http://maps.secondlife.com/secondlife/Bug%20Island%202/243/247/23
  2. Set your shaders and sun position as indicated on the red sphere at that location.
  3. Verify the spheres render the same as they appear in the picture at that location.
  4. Continue testing at the 5 stations to the South.
  5. Repeat test with 'Advanced Lighting Model' from graphics preferences both enabled and disabled (where allowed)
    • It is expected that 'Advanced Lighting Model' can only be enabled if both 'Basic Shaders' and 'Atmospheric Shaders' are enabled

Alpha Modes Rendering

  1. Enter the 'Materials rendering test room' at http://maps.secondlife.com/secondlife/Bug%20Island%202/233/251/42
  2. Enable "Advanced Lighting Model" in your Preferences, under Graphics->Advanced
  3. Verify that row of 4 boxes on the northern side roughly match the appearance shown on the inworld 'Alpha modes sample' object
    • 'Alpha blended' should have a smooth transparency transition
    • 'Alpha masked' should have an abrupt transparency transition, with each pixel either fully opaque or fully transparent
    • 'Emissive mask' should look bright in the areas which appear more opaque in the 'Alpha blended' box
    • 'No Alpha' should be fully opaque
  4. Disable "Advanced Lighting Model" in your Preferences, under Graphics->Advanced
  5. Verify that the 'Emissive masked' box now appears the same as the 'No Alpha' box
  6. Verify that the other boxes have not changed their basic appearance