Disclosed is a hybrid approach to rendering transparent or translucent objects, which combines object-space ray tracing with texture-space parametrization and integration. Transparent or translucent objects are first parameterized using two textures: (1) a texture that stores the surface normal at each location on the transparent or translucent object, and (2) a texture that stores the world space coordinates at each location on the transparent or translucent object. Ray tracing can then be used to streamline and unify the computation of light transport inside thick mediums, such as transparent or translucent objects, with the rest of the scene. For each valid (e.g., visible) location on the surface of a transparent or translucent object, the disclosed embodiments trace one or more rays through such objects and compute the resulting lighting in an order-independent fashion. The results are stored in a texture, which is then applied during the final lighting stage.
展开▼