Depth of Field test

From Second Life Wiki
Jump to navigation Jump to search


Purpose

Test the functionality of the Depth of Field [DOF] render effect.

Sources

Depth_of_field

Scope

Video cards with OpenGL 3.0 or higher.

Test Plan

Setup

  1. Choose Me menu > Preferences.
  2. In the Preferences window, click Graphics tab.
  3. Click Advanced button to show additional options.
  4. 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
  5. Check Hardware skinning.
  6. Check Atmospheric shaders
  7. Check Lighting and Shadows
  8. Enable the Advanced menu (ctrl-alt-d)
  9. Open Advanced menu > Show Debug Settings
  10. 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.

Object under cursor get DOF focus

  1. Move your cursor over various objects.
  2. Verify whichever object is behind your cursor is in focus. Objects nearer and farther may be blurry.

Alt-zooming on something locks the DOF focus

  1. Hold the Alt key and click an object
  2. Verify the object is now focused.
  3. Move your cursor over various objects.
  4. Verify the object the object you alt-zoomed on remains focused.

Sky and void do not get DOF focus

  1. Move your cursor from your avatar to the sky.
  2. Verify your avatar remains focused.
  3. Teleport your avatar next to the void (where there is no region and ocean is rendered)
  4. Move your cursor from your avatar to the ocean.
  5. Verify your avatar remains focused.

Water within a region does get DOF focus

  1. Teleport to some water that is within the boundary of a region.
  2. Move your cursor from your avatar to the water.
  3. Verify the water receives focus.

if you hover your cursor over your nametag, your avatar should get focus

  1. Move your cursor from a distant object to your nametag
  2. Verify your avatar becomes focused.

DOF becomes stronger as you zoom closer to an object

  1. Alt-zoom on an object while watching objects in the background.
  2. Verify object in the background become fuzzier as you zoom closer to the foreground object.

DOF does nothing under water

  1. Fly under water and verify the DOF effect is disabled.

Media on a Prim looks sharp when focused

  1. Alt-zoom on a media prim
  2. Verify the spot you alt-zoomed on looks sharp.
  3. Click the focus button on the media bar
  4. Verify the camera moves to point directly at the media the entire media face looks sharp.

In mouselook, object behind the crosshair is focused

  1. Enter mouselook mode by pressing the m key.
  2. Move your view around.
  3. Verify that whatever is behind the block cursor in the center of the screen is in focus.
  4. Exit mouselook mode by pressing the escape key.

HUD attachments should be ignored

  1. Attache a block to your HUD or wear any HUD attachments you own.
  2. Move your cursor over various objects.
  3. Verify your HUD object is always in focus.

DOF should be off when in build/edit mode

  1. Create a box
  2. Verify nothing is blurry because DOF has been disabled.
  3. Close the edit tools.
  4. Verify DOF has been enabled again.

CameraFieldOfView

  • Open Advanced menu > Show Debug Settings, and type CameraFieldOfView
  • Verify that when you increase this, your focal planes get closer together. ie. the depth of area that is in focus becomes narrower.
  • If it's set properly, then mousing around on things should properly focus
  • Verify this resets to a default of 60.

CameraFNumber

  • Open Advanced menu > Show Debug Settings, and type CameraFNumber
  • Set it to 32, you'll have to really zoom in 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
  • 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

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.
  1. Create 2 boxes.
  2. Set the Transparency of one box to 99% and the other to 100%
  3. Attempt to right-click through the objects.
  4. Verify you can click through the object that is 100% transparent, but cannot click through the object that is 99% transparent.
  5. Add a default script to the 100% Transparent object.
  6. Attempt to right-click through the object.
  7. Verify you can no longer click through the 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.

  1. Set Advanced menu > Show Debug Settings > CameraFocalLength to 500
  2. Create a 2x2x2m cube
  3. Set the cube's transparency to 66%.
  4. Close the edit tool and alt-zoom on the cube.
  5. Verify you see a DOF effect on the objects or ground behind the cube.
  6. Set the cube's transparency to 66%.
  7. Close the edit tool and alt-zoom on the cube.
  8. Verify everything appears fuzzy behind the cube.

Objects with semi-transparent textures greater than x% transparent will not affect the DOF effect behind them.

  1. this
  2. that
  3. Verify.


Can different real-world cameras be simulated by plugging in the right FNumber and FocalLength numbers?