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
The whole combination can be done on any PS 1.3 compatible hardware
(we've done it on a GeForce4 4200).
More interesting screenshots:
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.