As the title above. I am trying to sampling direct light and indirect light. But I have many transparent objects in scene, it's very likely to block the testing ray. To my understanding, it's not good to give up the testing ray if the blocking object is transparent. Because it still have very large chance to hit light source after coming out from transparent object. But I don't know what exactly should I do to make it correct and unbiased.

So, what is the best practice for direct light and transparent object?

  • $\begingroup$ What do you mean by transparent object? Do you mean a dielectric interface? If this is purely transparent (e.g., opacity mask for BRDFs) then you must continue your ray, otherwise you must reflect/refract according to the dielectric properties. $\endgroup$
    – Hubble
    Jun 22, 2021 at 23:15
  • $\begingroup$ Yeah, it could be dielectric for example. Are there anything I should do to make it unbiased. @Hubble $\endgroup$
    – iaomw
    Jun 23, 2021 at 3:14

1 Answer 1


If a ray intersect a transparent object (regardless of the order) multiply by the colour to get proper attenuation, then continue. Note that the order does not matter. The other options is to ignore transparent objects and check for occlusion. Only if there's no occlusion intersect the set of transparent objects only without caring about order once again, and at each such intersection attenuating by the respective colour.

If the transparent object is a dielectric then you need to trace in order with refraction. See for example: https://graphics.stanford.edu/courses/cs148-10-summer/docs/2006--degreve--reflection_refraction.pdf


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.