Depth of Field Testing

I’ve found myself using depth of field a lot more in project, quite shallow depth of field which is very expensive in render time, require many, many samples. However depth maps can be used to MASSIVELY speed up the rendering process by processing the depth of field as a post process. I put together a little scene with the mind to test some of the solutions out there. 

DepthOfField__0000_Lightwave Raytraced
First up is a native, raytraced result from Lightwave 3D’s renderer. This render was produced in 1 hour with a 6 core i7 and still need more samples to remove the grainy out of focus areas.


From here on the defocus effect is created using a beauty pass and z depth pass


DepthOfField__0003_DPKIT DOF
First up we have the DPkit set of plugins, used within Lightwave, added as an image node filter, which is applied after the render (that has been reduce to 2 minutes).


DepthOfField__0002_AE Camera Lens
Next up, the camera lens filter within After Effects. I was excited when Adobe introduced this effect in CS5.5 but, having tried Frischluft’s Lenscare, I found it lacking in certain areas.


Small hotspots occasionally appear with the defocused bokeh ball, depth edges feel overly aliased and colours spread beyond edges of objects.


Now for the aforementioned Frischluft Lenscare for After Effects. So far I’m very happy with the results. Small highlights defocus into clean bokeh balls that can be customised. Object depth edges anti-alias well and the blur doesn’t spill.


DepthOfField__0004_Nuke Defocus
Lastly, Nuke’s zDefocus node. In some ways (in this example) the results seem even closer than Frischluft’s to Lightwave’s native depth of field, but also seems to have more aliasing.

A few of my ‘takeaways’ which experimenting have been: rendering a z depth at double the res, comping the defocus effect at that res then downscaling to the required resolution shows improved results. It also helps to front focus away from the edge of objects to hide aliasing.