Render Correctness Test

Category:Test Scripts
== Purpose ==
Test expected render behavior for 3.0 and newer viewers.
=== Terrain rendering ===
* Verify terrain mesh detail defaults to High when Graphics Quality is set to Mid or higher.
* Verify terrain mesh detail defaults to Low when Graphics Quality is set to Low.
* Verify terrain detail textures change according to elevation. (screenshot from http://maps.secondlife.com/secondlife/Bug%20Island%202/88/98/23)
=== Windlight rendering ===
* Set Graphics quality to High.
* If Atmospheric shaders is still disabled, skip to the next section.
* Verify you can see clouds in the sky like this picture from http://maps.secondlife.com/secondlife/Bug%20Island%202/88/98/23
=== Water rendering ===
* Verify that the Transparent Water shader is disabled when Graphics Quality is set to Low.
* Verify that the Transparent Water shader is enabled when Graphics Quality is set to Low-Mid or higher.
* Uncheck Transparent Water and verify the water surface appears opaque from above and below water.
* Check Transparent Water and verify the water surface appears transparent from above and below water.
* Put camera under water, verify that fog changes. There is generally more fog below water than above water.
* Turn on Preferences > Graphics > Advances Settings > Basic Shaders and Transparent Water. (Basic shaders cannot be enabled if OpenGL < 2.0. The OpenGL version can be found in Help menu -> About Second Life. If OpenGL < 2.0, skip to the next section.)
* Verify that sun/moon reflections appear on surface of water.
* Verify that water appears to have animated waves.
* Put camera under water and verify that objects above water appear distorted by the waves.
* Move the sun to Midday () and verify that water looks appropriate.
=== Water Reflections ===
* Confirm Basic Shaders and either Transparent Water or Bump mapping is enabled in Preferences > Graphics > Advanced Settings.
* Find Water Reflections in Preferences > Graphics > Advanced Settings
* Select "Terrain and Trees" water reflections and verify you see the land and trees reflected in the water.
* Select "All Static Objects" and verify that now in addition to the trees and terrain, you see unmoving objects reflected.
* Select "All Avatars and Objects" and verify that you and other avatars are now being reflected as well.
* Select "Everything" and verify that all terrain, trees, objects, avatars, and particles are now reflected in the water.
=== Avatar rendering ===
* Verify that the avatar is lit by the sun/moon
* Right click on your avatar and Edit My Shape.
* Verify that avatar renders properly in the preview panels.
* Repeat with Hardware Skinning enabled/disabled in preferences.
=== UI Rendering===
* Turn on property lines and land owners from World > Show menu.
* Verify all appear correctly.
* Turn on stats bar with ctrl-shift-1
* Verify that text appears correctly in statistics bar.
* Enable World menu > Show > Beacons, and check the Scripted check box.
* Enable Beacons and Highlights
* Verify Beacons and Highlights appear on scripted objects [need a picture here]
* Open the Develop menu with Ctrl-Alt-Q, turn on Develop > Show Info > Show Updates to Objects.
* Find a scripted object and verify that update hints are being rendered (should look like red or blue spots rising from the center of the object. Blue spots will rise from your avatar if you walk).
* Hold mouse cursor over an avatar and verify the tooltip renders properly. 
* Select an object. (eg. the Kart from the Library)
* Verify silhouette outline renders correctly.
* Edit an object.
* Verify that the root prim (the seat) has a yellow outline while the other prims have a blue outline.
* Verify a particle beam projects from your hand to the object you are editing.
=== Object Rendering ===
[make objects for these tests to speed testing]
* Make a cube.
* Change its color.
* Move the cube. Verify color remains the same.
* Make cube transparent.
* Move the cube. Verify color remains the same.
* Turn on the Bump mapping and shiny shader in preferences.
* Give cube a texture with an alpha mask that is 100 transparent in some area. (eg. Inventory/Library/Textures/*Default Transparent Texture)
* Close the edit tools
* Verify you can click through the mask (the transparent section) with alt-zoom.
* Verify you can right-click your avatar through the mask.
* Attach the cube to your HUD.
* Verify the HUD attachment has full bright lighting and looks the same if you toggle Full Bright on and off in the Texture panel of edit tools.
* Verify the HUD attachment is not lit by the sun or moon when you look around.
* Verify the mask part of the HUD attachment does not block alt-zoom unless in edit mode.
* Verify you can select the HUD attachment when in edit mode.
* Attach a default script to the cube HUD attachment.
* Verify HUD attachment responds to left click.
* Verify you can right click your avatar through the cube attachment's mask.
* Detach the cube
* Make a sphere
* Change the sphere's color.
* Make it shiny medium and verify it appears shiny.
* Move the sphere. Verify color remains the same.
* Give the sphere a bump map.
* Verify that bump map is visible.
* Attach the sphere to your HUD.
* Verify the sphere is still shiny and bump mapped.
* Verify the sphere is not lit by the sun or moon when you look around. SH-2646
=== Sculpty Rendering ===
* Rez the sculpty horse from My Inventory/Library/Objects/Sculpt Prims - Examples/Horse (Sculpt Prim Example) - by Nomasha Syaka
* Verify you see a collection of blobs that resolves into a brown and white running horse withing a few seconds.
=== Highlight rendering ===
* Create 2 cubes, make one 100% transparent and the other 50% transparent.
* Enable the Advanced menu with ctrl-alt-D or with Preferences > Advanced > Show Advanced Menu
* Turn on Advanced menu > Highlighting and Visibility > Highlight Transparent. 
* Verify both cubes are highlighted with a red tint.
* Attach both cubes to your HUD
* Verify both cubes on your HUD are highlighted with a red tint.
* Turn off Advanced menu > Highlighting and Visibility > Highlight Transparent.
=== Render order ===
* Attach a semi-transparent cube to your HUD if you don't already have one.
* Turn on World menu > Show > Property Lines. Verify the property lines do not draw in front of hills or solid objects or your semi-transparent HUD object.
* Open the world map and click on a location nearby, and close the world map
* Verify the red column is only visible above ground, and not as it passes below ground.
* Turn off World menu > Show > Property Lines.
File:Render_order1.jpg‎
=== llSetText rendering ===
* Attach a semi-transparent cube to your HUD if you don't already have one.
* Add the following script to the cube attachment. 
default
{
state_entry()
{
while(1)
llSetText("Hello, Avatar!",<llFrand(1),llFrand(1),llFrand(1)>,llFrand(1));
}
}
* Verify you can see the SetText message rapidly changing colors on the HUD object.
=== Appearance mode rendering ===
* Right click your Avatar and "Edit My Shape".
* Verify you can see the thumbnail images for your avatar.
* Edit your Skin.
* Change your skin color, Save All, and exit appearance mode.
* Verify your avatar textures rebake after a few seconds and that your skin color is correct.
=== Shaders ===
* Go to http://maps.secondlife.com/secondlife/Bug%20Island%202/243/247/23
* Set your shaders and sun position as indicated on the red sphere at that location.
* Verify the spheres render the same as they appear in the picture at that location.
* Continue testing at the 5 stations to the South.
=== Glow + transparent ===
* Go to http://maps.secondlife.com/secondlife/Bug%20Island%202/244/175/23
* Verify the sphere is invisible when Basic Shaders are off.
* Verify the sphere is glowing when Basic Shaders are on.
Category:QA Portal
Category:Quality Assurance