Depth of field

== What is "depth of field"? ==
Depth of field ("DOF" for short) is a graphics feature introduced to the experimental Second Life "Mesh Import Project" Viewer in late November 2010, then supported in the main SL Viewer in June 2011. This page aims to explain what the effect does, how it might change in the future, and what debug settings control it and what they mean.
DOF simulates the real-world optical effect with the same name, a photographic effect caused by a lens focusing on a particular subject. There are two planes to consider — a near focal plane and a far focal plane. When an object is between the far focal plane and near focal plane, it is considered to be in-focus. The human eye is subject to depth of field, but because the field of view of Second Life is more similar to a camera, the inworld depth of field effect is modeled after a 35mm camera with a focal length of 50mm.
DOF can be used to creatively draw attention to a scene's focal area, and is already used in many popular games. DOF's creative possibilities are appealing to artists like photographers and machinimatographers.
: 
== How can I see the depth of field effect? ==
DOF and the other graphical effects that must be enabled to see it are collectively taxing, and are best enjoyed with a graphics card and computer system that significantly exceeds the System Recommendations.
In the main SL Viewer in Advanced mode:
# Select Me menu > Preferences.
# In the window, click Graphics tab.
# Set the Quality and speed slider to Ultra.
Or, if you want to be more selective:
# While you're still in the Graphics tab, click Advanced button.
# Check Lighting and Shadows, which is a prerequisite.
# You can now check Depth of Field.
This video tutorial has older steps that are no longer relevant, but the principles are still the same:
: 
== How do I customize my DOF settings? ==
# Enable Advanced menu.
# Choose Advanced > Show Debug Settings.
# Enter a DOF setting (it autocompletes) and change its value.
The settings are:
* CameraAspectRatio - "Camera aspect ratio for DoF effect" -- Set this to the aspect ratio of the camera you're modelling. For example, a 35mm camera has an aspect ratio of 3:2 (1.5). Second Life will use this as a frame of reference for how field of view and focal length must be adjusted depending on window size.
* CameraFieldOfView - "Vertical camera field of view for DoF effect (in degrees)" -- The default FoV for the camera you're trying to simulate. Second Life will use this as a frame of reference for adjusting focal length as the in-world field of view changes.
* CameraFNumber - "Camera f-number value for DoF effect" This is a simulated f-stop as you'd see on a camera with and adjustable aperture. A typical 35mm lens might have a range of f/2 to f/22. The smaller the number, the wider the aperture. In general, a smaller f-number will result in a narrower depth of field. When trying to tune depth of field for a particular image, this is the number to modify.
* CameraFocalLength - "Camera focal length for DoF effect (in millimeters)" Different cameras have different focal lengths (the distance from the outer camera lens to the film). In general, a shorter focal length will result in a closer hyperfocal plane — that is, the subject distance at which the far focal plane approaches infinity. You should choose what kind of camera you're modeling and set CameraFocalLength to the focal length of that camera and leave it. Adjusting field of view will lengthen or shorten the simulated focal length appropriately to simulate the use of a zoom lens. Learn more about hyperfocal distance.
* CameraFocusTransitionTime - How many seconds it takes the camera to transition between focal distances.
For example:
# Set CameraFocalLength to 200.000.
#-click on your avatar to center that point and give it focus, and observe distant objects.
== How do I get tilt-shift effects? ==
Tilt-shift photography is popularly used for simulating miniature scenes. Try these settings:
* CameraAspectRatio = 1.5
* CameraFieldOfView = 60
* CameraFNumber = 2
* CameraFocalLength = 1000
Want a more drastic effect? Raise CameraFieldOfView to something like 120.000.
Defocused area too blurry? Raise CameraFNumber.
After June 2011, Torley habitually learned to keep the window open while adjusting CameraFNumber as needed, depending on distance to subject. Some 3rd-party viewers provide more direct access to these controls.
And remember to -click to focus. It helps to use the keyboard camera shortcuts if you want the focused area to be non-centered. (Otherwise, crop the image in post-processing.) Your end result can be awesome like this (whee! Look at the little doll people):
: 
== Torley's preferred settings (as of May 2012) ==
These are optimized for big bokeh, favoring strength over subtlety. Requires a fairly powerful graphics card, or performance will suffer:
Preparation:
# Tap Ctrl-0 4-6 times to zoom in and narrow the field of view, creating a more intimate relationship with the tightly-focused subject matter.
# Select Advanced menu > Debug Settings.
# Set RenderVolumeLODFactor = 8 or even 16, although that may be overkill. This makes it so curves don't look jaggy when zoomed up close.
# As-needed, set RenderAvatarLODFactor = 8 or another high value too.
And the specific DoF settings:
* CameraAspectRatio = 1.5
* CameraFieldOfView = 10
** Higher is more blur, although you'll need to vary this depending on the subject's size and your camera's distance from it.
* CameraFNumber = 3
** Again, vary this to taste. Lower is more blur.
* CameraFocalLength = 250
** Makes it easier to get up-close and personal with the subject without fuzzing out.
** This may vary depending on the scope of the scene, sometimes a higher length like 1000 is desirable.
* CameraMaxCoF = 20
** Boosted from the default of 10, a good balance.
* CameraDoFResScale = 0.250
Example:
: 
== Torley's even newer settings ==
== See also ==
* Lighting and shadows - Broader information about related advanced graphics features.
* 2011-06-10 - DOF mini-tutorial by Mia-Pow.
* 2010-12-04 - BootCamp: Depth of Field by Luna Jubilee and Express Zenovka.
* 2010-12-02 - Blog post pointing here by Torley Linden.
* 2010-11-30 - Coming Soon to Second Life (Maybe): Depth of Field from New World Notes.
* 2010-11-30 - Further details in a message sent by Nyx Linden to OpenSource-Dev mailing list.
* 2010-11-24 - Tips on using DOF from Aki Shichiroji and others on SLUniverse.
* 2010-11-24 - DOF introduced into the Viewer code by Runitai Linden.
=== Example videos from Residents ===
: 
: 
: 
: 
: