Here’s a peek at a forest scene I’ve been working on. Right now I only have one tree model (made in Blender), but I plan to add a a lot more stuff. It uses an SSAO shader I wrote, which uses temporal reprojection to blend with the previous frame’s AO result to reduce noise (sadly it only takes into account the camera’s velocity, so fast moving objects will still have noise). I also wrote a higher-quality PCF shadow implementation, and made some other tweaks to the lighting code. I’ll upload the SSAO code when finished (right now the temporal reprojection is using a weird hack involving a magic constant. Since I don’t know why the hack fixes my code, I don’t know if it will work for other scenes with different scale parameters, FOV, etc. If anyone wants to help me figure it out I can show you the code tomorrow).
The tree model might look on the heavy side, but really fill rate is far more likely to be a bottleneck than triangle count on modern hardware, and I used some tricks to make them look more detailed than they really are (plus LOD models). The scene contains 500 trees, but I still get 60FPS thanks to the LODs.
Here’s a shot of the raw AO term:
Here’s some more screenshots, click to open.