Can anyone explain spherical harmonics to an artist?

Discussion in 'General 3D Technology' started by Matt B, Dec 7, 2006.

  1. Ateo


    Sep 30, 2006
    And the past of the universe too...not to forget ;)
    it also may help us to better understand where the universe is going and the elusive dark-matter and dark-energy.

    So a "tad" more than just basic physics ;)
  2. ShootMyMonkey


    Mar 21, 2005
    I'd also add that it works out rather nicely when you get around to reconstructing the sum of the functions when running through a shader and everything works out accordingly in unit-sphere space, and everything is unbiased meaning you don't have to re-adjust weighting on reconstruction.

    For me, I was mostly explaining it to people who were anyway doing lighting work, and they'd be using the tools for the irradiance volumes, so I used the context of lighting. Went something like ...

    Me : You know how you express lighting in terms of the sum of these components... the ambient, diffuse, specular, reflection, etc...?
    Artist : Right, add it all together and you get the total lighting effect.
    Me : So you also know that each of these is progressively higher detail... ambient is just flat, low detail, diffuse is somewhat higher detail as it varies based on direction, and specular highlights are higher detail -- small highlights, and then reflection is even higher detail as it is a dead-on image...
    Artist : Right. And sometimes we don't need all of them, but yeah...
    Me : So the spherical harmonics is essentially doing the same thing. We transform the light coming in as a sum of components of progressively higher and higher detail and add them together to get a lighting effect. For us, we're using it to replace the ambient component, so we don't go very high detail in the end, but still better than just a flat color.
    Artist : Okay. So we punch in colors for this how?
    Me : Don't have to do that. The values are calculated based on the environment, so we can get lighting based on where the character is at, and it's all calculated offline, and the results are just a few numbers we use at runtime. <snip>

    I'd include the rest, but it gets more nit-picky and closes out a little on the creepy side.

Share This Page

  • About Beyond3D

    Beyond3D has been around for over a decade and prides itself on being the best place on the web for in-depth, technically-driven discussion and analysis of 3D graphics hardware. If you love pixels and transistors, you've come to the right place!

    Beyond3D is proudly published by GPU Tools Ltd.