Raytracing can handle the interaction between light and multiple translucent objects in a scene by using global illumination and raytracing with volumetric effects to calculate the color of the object behind the translucent objects and the intensity of the reflection and shadow from each of the light sources. This allows for the creation of realistic images with accurate depictions of the interaction between light and multiple translucent objects in a scene.

How does raytracing handle the calculation of reflections and shadows in the presence of multiple translucent objects?


1 Answer 1


First off, I think the question is a bit vague. I'm not exactly sure what you really want so this answer is just based on my understanding of your question.

Raytracing handles reflections and shadows in the presence of multiple translucent objects naturally, by simulating multiple bounces of the ray. If there are multiple translucent objects in the scene, each object is handled independently. For example:

enter image description here

Object 1 and object 2 are two translucent spheres. We trace a path from the left which intersects the sphere at point A. Then at point A, an scattering event is sampled, to decide whether the path refracts into or reflect away from point A.The sampling probability and how much energy can be scattered are determined by Fresnel term. If:

  • The scattering event is reflection: well the ray is reflected back to the scene, as depicted by the yellow line segments.
  • The scattering event is refraction: Use Snell's law to determine the refracted ray direction, as shown in the blue line segments.

After that, you will get a new ray, starting from point A. The subsequent steps are just recursive: follow the same logic and bounce the ray over and over again until some termination conditions are met. For shadowing, the same logic applies: test whether the ray is blocked by surfaces, if so then nullify the radiance contribution along the ray. We normally do not account for the opacity of the surfaces. That is, if the ray segment intersects a certain surface, no matter whether the surface is translucent or not, we will normally regard the case as "occluded". We do this for an obvious reason: translucent objects usually entail different refraction indices, so the ray direction won't be continuous across the medium interfaces, and the direct connection between two given points is therefore impossible.

In all, the basic ray (path) tracing method does not treat translucent objects differently from opaque objects: it is just the matter of different BSDF and we only need to do the ray-bouncing recursively.

For more advanced methods, like MCMC based method, you can refer to Wenzel Jakob: manifold exploration for advanced reading. This method, in a nutshell, tries to find the ray bouncing points on the surfaces for a given query point, and is very efficient at solving the caustics rendering problem (this problem is very difficult to solve for path tracers). Yet note that this method is very different from ray-tracers, since it is not so recursive and requires the information of multiple objects, while basic ray-tracer can only consider the current object. Since you asked about multiple translucent objects, I think this will help.


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.