Lecture 3 is the shadow generation lecture. These are not quite all demos, but the most important ones.
All demos updated 2022.
3.1 Simple shadow
The easiest, and least flexible, way to make a shadow is just to flatten the shadowing object.
3.2 Shadowy
The name refers to it being closely related to Mirrory.
Planar projected shadows using stencil buffer to render correctly are nicer and more flexible than the simple shadow above, but still limited to flat surfaces which only takes us halfway there.
New version including “shadowysoft”, a multi-pass version part of the soft shadows part of the lecture.
3.3 Shadow map
Shadow mapping is the most popular way to render real-time shadows… so why doesn’t this look good? Because it is lacks filtering to avoid the noise in steep angles!
3.4 Shadow volumes
This is an old demo of shadow volumes by Tom McReynolds that I have modernized. As you can see in the screen shot, the red occluder creates nice shadows but the sphere and the cone are not made occuders and thus do not cast shadows. The volume creation is done on the CPU, which is not what I recommend.
3.5 Shadow map PCF
Shadow map with some PCF filtering. Now it is much better! The low polygon count of the sphere is a bit disturbing but the edge noise is gone!
3.6 My SSAO
I made my own simplified SSAO as an alternative to the established method. Since it has proven useful for students, I decided to clean it up and upload it.
Demos based on lab 1-1
I felt I wanted to have some demos from lecture 4 that I could upload, but I can’t upload the solutions to the labs! So what could I do. I made demos that build on lab 1-1 in order to show how to modify it without making it ruin the lab. Was I right?