In my last post I mentioned that even the simplest scene can look photo-realistic if lit well, before going on to talk about really simple lighting methods that really don’t. Obviously you have to start with the basics, but I was playing around with the code to see what could be done and I got it looking fairly nice.
Confession time – I was talking about polygonal rendering in my last post but the screenshots were actually from a ray-marching renderer (I’ll talk about it more on here one day), which is much easier to do realistic lighting with. But for the simple lighting examples the results are exactly the same.
The video show a method of doing soft shadows, where the softness correctly increases the further the pixel is from the occluder. The sun size can be adjusted to change the degree of blurring. After that there is some basic ambient occlusion (nothing fancy, just brute force to get it looking nice). Finally there is some postprocessing – tone mapping, bloom, antialiasing and lens flare.
The video looks pretty terrible. I suspect that the almost flat colours don’t compress well, hence all the banding. When it’s running there aren’t any banding issues, as you can hopefully see in the screenshot.
In my next I’ll explain how the shadows works.