Software Engineer
In my free time, I've been writing a real-time 3D renderer in C++ and Direct3D. These are some test shots of hardware-accelerated ambient occlusion using the algorithms discussed in this GPU Gems article. In a nutshell, the occlusion is approximated by shadow-mapping 512 point lights in a surrounding hemisphere. 512 passes are accumulated in a floating point buffer, each pass rendering the object under the influence of a single light.
Each frame takes just over 200 milliseconds to render on my GeForce GTX 970, so it's not exactly real time. Improvements could be made by caching the static occlusion information in non-overlapping UV textures.
In my free time, I've been writing a real-time 3D renderer in C++ and Direct3D. These are some test shots of hardware-accelerated ambient occlusion using the algorithms discussed in this GPU Gems article. In a nutshell, the occlusion is approximated by shadow-mapping 512 point lights in a surrounding hemisphere. 512 passes are accumulated in a floating point buffer, each pass rendering the object under the influence of a single light.
Each frame takes just over 200 milliseconds to render on my GeForce GTX 970, so it's not exactly real time. Improvements could be made by caching the static occlusion information in non-overlapping UV textures.