I have made a scene in Blender where there is a glossy ball on an icy lake. I noticed that there is no Depth of Field on the reflection of the ball.
I could add a fake Depth of Field in post-processing, but are there any other options?
Blender Stack Exchange is a question and answer site for people who use Blender to create 3D graphics, animations, or games. It only takes a minute to sign up.
Sign up to join this communityI have made a scene in Blender where there is a glossy ball on an icy lake. I noticed that there is no Depth of Field on the reflection of the ball.
I could add a fake Depth of Field in post-processing, but are there any other options?
If the reflective ball is inside the FOV, it will probably still preserve the sharp image due to light path has been concentrate from outer light, it will be harder to tell the blur effect if a convex mirror is presented.
And also, they do have a Depth of Field reflection, if you turn down the F-Stop to extremely small, and using a giant sensor that have ever been made in camera history. You should see the blur inside the Convex mirror
You can notice that the little tiny Susanne is clear while the whole mirror even around the tiny Susanne is blur, due to the natural light path.
What you encounter is because normally, we don't have this kind of lens, way too impossible to make it perfectly. If we only get the ordinary lens with a long focus len (125mm) and big enough Aperture (F/2.8 or something). The depth of field should be narrow enough to see the blur effect in object easily. But that only occur in diffuse object not the convex reflective.
Assume that your reflective scene is in far far away (like an HDR environment map or sky). You should get the maximal blur effect right? See the figure below with a normal lens:
"Hey, the light path change a lot of angle. Reflective should be blur as well". Unfortunately, Blender didn't show the real effective aperture size in camera icon. So I made one for it:
See that ridiculous tiny circle in front of camera? That is the real effective aperture size in Blender default 1 meter as 1 unit. So it is almost a dot for that reflective mirror if you put it in a distance. And follow up the light path you should see clear image unless you properly setup the scene size.
The ball's reflected image is not supposed to be blurry, since there is no blurring kernel between it and what it reflects. The DoF in the background is caused by the aperture of your camera not being a single point. The sphere is situated somewhat in focus, so it is not blurry.
There is a distinction to be made between requiring the reflection only to be blurry, and requiring the sphere with the reflection to be blurry. For the latter you have to take it out of focus.
For the former you have to introduce a blurring kernel in-between the sphere and the environment. This could be achieved through some participating medium resulting in a specific point spread function in real life. It could also be achieved by encasing the sphere in another one that introduces that PSF. The simplest solution would be to change the bsdf to not be an ideal mirror, then it will essentially integrate over a small region, resulting in a similar blurring effect (basically convolve your bsdf with the projection of the psf onto the hemisphere).
Note that this objectively makes the reflection blurry, as opposed to only perceived as it would be if you were to take the sphere out of focus. In your image the environment is not blurry - it's the camera film that sees it that way because of the lens system used. Introducing what I mentioned would make it objectively blurry (for any observer).