← All ideas
  • Published 3 Dec 2018

Eevee true depth of field

Currently, Eevee DoF is a post-process screen-space effect. It would be awesome if there was an option for "real" DoF, which would effectively "jitter" the camera position to simulate a real aperture. This would require a lot more samples for a similar result, but result in much higher quality DoF without fringing.

92.6%

Development Status: Open

Upvote 25 Downvote 2
zlsa
3 Dec 2018

7 Comments

Quargzon

Absolutely. This goes for motion blur too. Many screen-space effects have shortcomings because they "gather" instead of "scatter". Depth discontinuities create all kinds of artifacts at the edges of objects. Screen-space DoF and motion blur also screw up transparency because they blur whatever's behind the surface, which is incorrect.

It would be nice to have a brute-force accumulation sampling option for anything that can have one. Then we can choose between fast-but-ugly or slow-but-correct depending on the requirements of the project.

1
bukebeyond

* @quargzon * Ah, I guess I will be running into motion blur artifacts in Eevee at some point. I ran into DoF problems right away.

dpdpforlife

Agreed. It will make interacting in rendered mode very difficult when looking through the camera, unless the dof doesn't activate until you release.

1
zlsa Author

I would absolutely vote to keep the existing screen-space effect! In fact, it might even be possible to combine them both, to avoid the sharp edges that the more advanced technique produces if there aren't enough samples. I would expect the "correct" jittering method to be quite slow and only used in final renders.

1
bukebeyond

* @dpdpforlife * The rendered view could finish the draft quality first, and then slowly render the high quality one if you wait. The key is the interruption mechanism. When you edit the scene or interact with the viewport, it should abort with low latency.

parthkd4920

gum.co/ZkrjH this is a node tree i made that tackles this problem with the help of mist render pass and a couple of cheats and gives very good result but its not very accurate and you have to tweak a couple of sliders but you can get good dof in evee with this.

bukebeyond

Absolutely. Eevee is 50 times faster than Cycles, so there is a lot of room here to increase quality. A high quality DoF can make or break a lot of shots, esp in animation. It is as critical as motion blur to a cinematic look, which Eevee does well similar to Cycles.