3D Renderer that stores all albedo, depth, normal, and specular information into a series of textures, then combines those textures and lighting information to make the final image. This allows lighting calculations to be done once per pixel, instead of once per fragnent.
The renderer also computes ambient occlusion information using the scene information in the G-Buffer. Ambient occlusion is computed in a style similar to Crysis, but uses normal-oriented hemispheres instead of full spheres. This allows the normal map to be used, allowing for fine details in the computed occlusion map.