| Submitted by , posted on 28 January 2005 |

Image Description, by This screenshot represents a technique I came up with to perform high dynamic range rendering and spherical harmonics lighting on pixel shader 1.3 hardware. The high dynamic range rendering effect was done with help from P. Debevec's paper on HDRTMs and the spherical harmonics lighting with help from R. Green's paper. Since both effects operate on a light probe, we've decided to combine them, and the results look promising.
The spherical harmonics lighting has been done per-vertex with 2 radiosity iterations and is PCA compressed.
The HDR rendering is done by transforming the 16-bit per component light probe into two 8-bit cube maps (retaining full precision). The geometry is rendered with both cubemaps (just vertex transform and cubemap sample) and the resulting render targets are then added together with the result from the SH lighting, and the high 8-bit render target is bloomed (horizontally and vertically). We intend to add support for a user defined rotated grid for blooming.
The whole combination can be done on any PS 1.3 compatible hardware (we've done it on a GeForce4 4200). More interesting screenshots:

> - http://freeweb.siol.net/baadc0de/fdri5.jpg
> - http://freeweb.siol.net/baadc0de/fdri7-1.jpg
> - http://freeweb.siol.net/baadc0de/fdri7-2.jpg
> - http://freeweb.siol.net/baadc0de/fdri7-3.jpg
> - http://freeweb.siol.net/baadc0de/fdri7-4.jpg

This and more will be part of my first commercial 3d/game engine. There's also more demos there (visit http://www.narniax.com and see for yourself). Of course the real engine is not done on the directx framework, like most of the samples found on the site ;)
Thanks, Bojan Sernek.

[prev] | Image of the Day Gallery www.flipcode.com | [next]

Copyright 1999-2008 (C) FLIPCODE.COM and/or the original content author(s). All rights reserved.
Please read our Terms, Conditions, and Privacy information.