Circular Harmonics

Image

Spherical Harmonics are cool.  They are commonly being used for real time GI approximation in many AAA games.  These things are tiny light probes, encoding all incoming light for a single point in 3d space.  One of the main attractions is that they allow you to integrate of all incoming light for a point in space as a mere dot product of coefficients.

I contracted an intense curiosity with this subject, so spent the weekend coding up their little 2D brother, Circular Harmonics.  This is the same stuff that Alex Evans (ex LionHead) used for the lighting in Ragdoll Kung Fu.  While these things only seem to get used for graphics, I think these things have a hidden potential to do awesome stuff for Sound and AI as well.

The image above shows Circular Harmonics being used (shown in white) to approximate a signal (shown in green) of varying magnitude.  Here only 8 coefficients were used, that’s just 8 floats.  Something to try would be to compress each coefficient to just a signed bytes and see how well it would keep its approximation.

Here are some good references on the subject:

http://www.blackpawn.com

http://www.paulsprojects.net

D3DTutorial07_AlexEvans_Final.pdf

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s