Circular Harmonics


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:


Leave a Reply

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

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

Facebook photo

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

Connecting to %s