What is the state of the art in terms of shadow rendering? My target is OpenGL 3.2, using a deferred rendering pipeline, if that matters.

It's been years since I looked into shadow rendering, and at that time there were numerous techniques available, from stencils to the various shadow mapping methods. At that time, rendering shadows required separate rendering passes, controlled by the CPU. But then recently I saw a demo where a scene was rendered entirely on the GPU, including shadows. I have no idea how that would have been accomplished, or if it is even a reasonable thing to do (beyond a tech demo).

Given the large amount of old info on the internet, I'd like to learn what methods people are using these days, and how much of it can be pushed to the GPU (assuming my target OpenGL version supports it).


1 Answer 1


http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-16-shadow-mapping/ gives a nice overview over the basics. http://en.wikipedia.org/wiki/Shadow_mapping links to a multitude of research papers describing different improvements and optimisations.

Shadow volumes have been 'the thing' a few years ago. http://en.wikipedia.org/wiki/Shadow_volume nicely describes the technique.

Recently, ray tracing and path tracing based approaches have been used for lightning/shadowing (which have been around before, just not the hardware to utilize them). Though, the optimisations used (e.g. monte carlo rendering with limited iterations) tend to lead to noise/artifacts on camera movement (for an example of the effect, see e.g. http://www.youtube.com/watch?v=FJLy-ci-RyY).


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .