Volumetric particle lighting

October 4, 2007 at 3:33 am (Demos, Presentations, Tips & Tricks)

ruby_snow_small1.jpg

At SIGGRAPH this year, there was a talk by the AMD/ATI Demo Team about the Ruby:Whiteout demo. It was disappointingly attended but it was filled to the brim with GPU tips and tricks, especially in the lighting department. This stuff hasn’t been presented anywhere else and I haven’t seen much discussion on the web so I decided to highlight a few of the key topics.

One of the really impressive subjects covered was volumetric lighting (w.r.t. particle and hair). Modeling light interaction with participating media is a notoriously difficult problem (see subsurface scattering, volumetric shadows/light shafts) and many surface approximations have been found. However, dealing with a heterogeneous volume of varying density, such as the case with a cloud of particles or hair, is still daunting. The method involves finding the distance between the first surface seen from the viewpoint of the light and the exit surface (the thickness), and also accumulating the particle density between those surfaces. Depending on how you decide to handle calculating this thickness and particle density, it could take two passes. They present a method for calculating this in one pass.

By outputting z in the red channel, 1-z in the green channel and particle density in alpha, setting the RGB blend mode to min and the alpha blend mode to additive and rendering all particles from the viewpoint of the light, you get the thickness and density in one pass. This same method can be applied to meshes such as a hair. It should be noted that this information can also be used to cast shadows onto external objects.

The presenters also discuss a few other tricks. These include rendering depth offsets on the particles and blurring the composited depth before performing the thickness calculation discussed above to remove discontinuities. Also, for handling shadows from non-particle objects, they suggest using standard shadow mapping per-vertex on the particles. I think I originally saw this idea mentioned by Lutz Latta in one of his particle system articles or presentations.

I might dredge some other topics from the presentation later on, but eveyone should check out the slides here.

Advertisements

7 Comments

  1. nothings said,

    “it was packed with a dearth of GPU tip and tricks”

    Pretty sure “dearth” is not what you meant.

  2. levelofdetail said,

    sorry, i wrote this on opposite day

  3. free sexually videos said,

    You actually make it seem so easy with your presentation but I find this matter to be actually something
    which I think I would never understand. It seems too complex and very broad for me.
    I am looking forward for your next post, I will try to get the
    hang of it!

  4. tene sex said,

    Hello great blog! Does running a blog like this take
    a lot of work? I’ve no knowledge of coding but I had been hoping to start my own blog in the near future. Anyhow, should you have any ideas or techniques for new blog owners please share. I understand this is off topic nevertheless I just needed to ask. Kudos!

  5. www.pornoblack.org said,

    I am in fact grateful to the holder of this website who has shared this great post
    at at this place.

  6. http://www.sexyhotgirlz.com/nasty-homework-of-lovely-teenager/ said,

    Simply want to say your article is as astonishing. The clearness in
    your post is just nice and i can assume you’re an expert on this subject. Well with your permission allow me to grab your RSS feed to keep updated with forthcoming post. Thanks a million and please carry on the gratifying work.

  7. who called said,

    Fabulous, what a website it is! This web site provides helpful data
    to us, keep it up.

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

%d bloggers like this: