In this previous post, I described how I implemented a primitive form of ambient occlusion for static objects. The gist of it is that I perform an offline rendering step that creates a texture describing the occlusion at each point in the world, at various heights above the terrain. The thing lacking here is occlusion for moving objects such […]
I knew I needed something to spruce up my monotonous terrain, so I recently implemented a decal system. This lets me paste moss, leaves, footprints, bullet holes and anything else “flat” anywhere on my terrain (or any object in the world). A deferred rendering engine offers an opportunity for easy-to-implement decals. Instead of […]
I spent a while making some improvements to my tree editor. Mostly just workflow cleanup, but I also added a few new features. One involved more control over which leaf textures are used for particular leaves, and the other involves removing triangles where the texture is completely transparent. You can see that in the following palm tree: […]
Just thought I’d make a quick, very graphical, post about various tools I have in my engine to better visualize things.
After the fixes to my HDR pipeline and albedo, the ambient lighting/global illumination, ambient occlusion map, and various other tweaks, I thought I’d show some screenshots of the results.
In this post I’ll go over the modifications I’ve made to my ambient light shader to have more realistic “global illumination”. First let’s look at some of the problems: What’s wrong in this image? The sun is shining on the bright orange cliff on the right, the but the shadowed cliff wall on the left is ignorant […]
In this post I’ll go through the steps I’ve taken to clean up the HDR in my engine. sRGB vs linear I had never really given this much thought until now. I simply sampled my textures, performed lighting calculations on samples (giving me an HDR value), and then tone-mapped (mapping the HDR value to something representable on […]