Depth of Field test
Purpose
Test the functionality of the Depth of Field [DOF] render effect.
Sources
Scope
Video cards with OpenGL 3.0 or higher.
Test Plan
Setup
- Choose Me menu > Preferences.
- In the Preferences window, click Graphics tab.
- Click Advanced button to show additional options.
- If Lighting and Shadows is not a visible option, you'll need to get a viewer that includes the feature. See https://wiki.secondlife.com/wiki/Depth_of_field#How_can_I_see_the_depth_of_field_effect.3F
- Check Hardware skinning.
- Check Atmospheric shaders
- Check Lighting and Shadows
- Check Depth of Field
- Enable the Advanced menu (ctrl-alt-d)
- Open Advanced menu > Show Debug Settings
- Type in CameraFocalLength , set the value to 500 and hit enter. This will will accentuate the Depth of Field effect and make correctness testing easier.
Avatar is always in focus when not alt-zooming or using flycam
- Hit the escape key so nothing has focus.
- Put your cursor over the sky.
- Verify your avatar is in focus.
- Verify objects in the distant background are out of focus.
Alt-zooming on something locks the DOF focus
- Hold the Alt key and click an object
- Verify the object is now focused.
- Move your cursor over various objects.
- Verify the object the object you alt-zoomed on remains focused.
DOF becomes stronger as you zoom closer to an object
- Alt-zoom on an object while watching objects in the background.
- Verify object in the background become fuzzier as you zoom closer to the foreground object.
DOF does nothing under water
- Fly under water and verify the DOF effect is disabled.
Media on a Prim looks sharp when focused
- Alt-zoom on a media prim
- Verify the spot you alt-zoomed on looks sharp.
- Click the focus button on the media bar
- Verify the camera moves to point directly at the media the entire media face looks sharp.
In mouselook, object behind the crosshair is focused
- Enter mouselook mode by pressing the m key.
- Move your view around.
- Verify that whatever is behind the block cursor in the center of the screen is in focus.
- Exit mouselook mode by pressing the escape key.
HUD attachments should be ignored
- Attache a block to your HUD or wear any HUD attachments you own.
- Move your cursor over various objects.
- Verify your HUD object is always in focus.
DOF should be off when in build/edit mode
- Create a box
- Verify nothing is blurry because DOF has been disabled.
- Close the edit tools.
- Verify DOF has been enabled again.
Flycam Mode
- Flycam Mode requires a joystick or gamepad device. See https://wiki.secondlife.com/wiki/Flycam for setup instructions.
- Enable flycam mode so your camera roams free and no longer tracks your avatar.
Object under cursor gets focus in flycam mode
- Move your cursor over an object in world
- Verify object becomes in focus.
Specific point on object under cursors gets focus in flycam mode
- Move camera very near an object.
- Move cursor around on surface of object.
- Verify focus tracks mouse cursor "depth."
Water within a region does get DOF focus in flycam mode
- Teleport to some water that is within the boundary of a region.
- Move your cursor from your avatar to the water.
- Verify the water receives focus.
if you hover your cursor over your nametag, your avatar should get focus in flycam mode
- Move your cursor from a distant object to your nametag
- Verify your avatar becomes focused.
end of flycam mode test
Turn off flycam mode so your camera once again tracks your avatar.
CameraFieldOfView
- Open Advanced menu > Show Debug Settings, and type CameraFocalLength
- Click the "Reset to Default" button and verify this resets to 50.
- Open Advanced menu > Show Debug Settings, and type CameraFieldOfView
- Set CameraFieldOfView to 120.
- Verify the focal planes get closer together. ie. the depth of area that is in focus becomes narrower and far objects appear more out of focus.
- Click the "Reset to Default" button and verify this resets to 60.
CameraFNumber
- Open Advanced menu > Show Debug Settings, and type CameraFNumber
- Set it to 32, you'll have to really zoom in on an object before the background gets fuzzy.
- Set it to 4, background should be very fuzzy.
- Verify this resets to a default of 9.
CameraFocalLength
- Open Advanced menu > Show Debug Settings, and type CameraFocalLength
- the longer this is, the more narrow the depth of field is. This is used in combination with field of view to calculate the aspect ratio.
- 50mm is what you'd expect to see with 35mm camera
- 200mm is like a telescope
- 5 - 15mm would be like cell phone camera.
- test:
- 1 is basically no DOF
- 1000 is exaggerated DOF, like tilt-zoom
- Verify this resets to a default of 50.
CameraFocusTransitionTime
- Open Advanced menu > Show Debug Settings, and type CameraFocusTransitionTime
- Change value to 3
- Enter mouselook mode by pressing the m key.
- Move your cursor over a far away object
- Verify it takes 3 seconds for the object to become focused.
- Verify this resets to a default of 0.5s
CameraMaxCoF
- Open Advanced menu > Show Debug Settings, and type CameraMaxCoF
- Change value to 32
- Verify Blur "circles" reach a maximum size of 32 pixels.
- Verify this resets to a default of 10.0
Objects with Transparency value of 100% allow right-clicks to pass through Unless it has a touch event.
- Note: This is a functionality change in the viewer that supports DOF. Previously, right-clicks would not pass through 100% Transparent objects.
- Create 2 boxes.
- Set the Transparency of one box to 99% and the other to 100%
- Close the edit tools window.
- Attempt to right-click through the objects.
- Verify you can click through the object that is 100% transparent, but cannot click through the object that is 99% transparent.
- Add a default script to the 100% Transparent object.
- Attempt to right-click through the 100% Transparent object.
- Verify you can no longer click through the 100% Transparent object.
- does this break any transparent content that needs right clicking or left clicking?
- does it match up with the right click-thru of semitransparent textures. no.
Objects with Transparency of 66% or lower will not affect the DOF effect behind them.
- Set Advanced menu > Show Debug Settings > CameraFocalLength to 500
- Create a 2x2x2m cube
- Set the cube's transparency to 66%.
- Close the edit tool and alt-zoom on the cube.
- Verify you see a DOF effect on the objects or ground behind the cube.
- Set the cube's transparency to 67%.
- Close the edit tool and alt-zoom on the cube.
- Verify everything appears fuzzy behind the cube.
Tests to add sometime: Can different real-world cameras be simulated by plugging in the right FNumber and FocalLength numbers?