Jump to content
  • Advertisement
Sign in to follow this  
Max_Payne

Photon Tracing: Absorption Probability

This topic is 4787 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I have question regarding photon tracing (used in the photon mapping algorithm). It seems that when a ray hits a surface, the "russian roulette" technique is used to decide if it gets absorbed (stored in the photon map at full power), or reflected at full power. The rr technique is used again to decide whether it will be specularly or diffusely reflected at full power. So far, that seems fairly easy. However, I don't see what the absorption probability is supposed to be. Normally, I would say its the color... But we represent the color as a 3 dimensinal property... And when we reflect the photon, we multiply it by the surface's color, don't we? So, how does this all work, do we even need an absorbtion vs reflection choice? If we do, how does it work? What do we use to decide (what value)?

Share this post


Link to post
Share on other sites
Advertisement
One thing i would add to that is you'll also need to specify a transmission probability for transparent materials. This is a situation where physically based BRDF's are a necessity, because if any component of the BSDF integrates to more than 1, russian roulette essentially fails.

How you actually implement this depends on what type of BxDFs you are using. If your BSDF is composed of a weighted sum of BRDFs and BTDFs, say for example your material is partially transparent, partially specular, and partially diffuse, then your probability of using a particular component of your BSDF is found by integrating that component over the hemisphere and multiplying that value by the weight for that component in the BSDF. If you're using simple phong shading that's been modified to ensure your BRDF integrates to less than 1, then the simple approach I would recommend would be to integrate over R, G, and B separately and average the answer. If you're using a more physically based BRDF, then there's probably a more physically based way to find the answer.

Share this post


Link to post
Share on other sites
What are you proposing exactly? That does not seem like a clear answer to my question regarding how to decide whether to emit or to reflect.

Suppose I have an ideal diffuse surface, with a color that is, say (1,0,0) in (R,G,B) notation, being fully red. How do I decide whether to absorb or reflect?

Share this post


Link to post
Share on other sites
Quote:
Original post by Max_Payne
What are you proposing exactly? That does not seem like a clear answer to my question regarding how to decide whether to emit or to reflect.

Suppose I have an ideal diffuse surface, with a color that is, say (1,0,0) in (R,G,B) notation, being fully red. How do I decide whether to absorb or reflect?


You average the R,G, and B values, (0.33 in your case) and that is your probability of reflecting. If you reflect, you multiply the power of the photon by the equation given in Jensen's section on Russian Roulette.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!