z-logo
Premium
Interactive Rendering of Non‐Constant, Refractive Media Using the Ray Equations of Gradient‐Index Optics
Author(s) -
Cao Chen,
Ren Zhong,
Guo Baining,
Zhou Kun
Publication year - 2010
Publication title -
computer graphics forum
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.578
H-Index - 120
eISSN - 1467-8659
pISSN - 0167-7055
DOI - 10.1111/j.1467-8659.2010.01733.x
Subject(s) - ray tracing (physics) , rendering (computer graphics) , refractive index , geometrical optics , piecewise , constant (computer programming) , distributed ray tracing , x ray optics , refraction , optics , ray , mathematics , computer science , mathematical analysis , physics , computer graphics (images) , x ray , programming language
Existing algorithms can efficiently render refractive objects of constant refractive index. For a medium with a continuously varying index of refraction, most algorithms use the ray equation of geometric optics to compute piecewise‐linear approximations of the non‐linear rays. By assuming a constant refractive index within each tracing step, these methods often need a large number of small steps to generate satisfactory images. In this paper, we present a new approach for tracing non‐constant, refractive media based on the ray equations of gradient‐index optics. We show that in a medium of constant index gradient, the ray equation has a closed‐form solution, and the intersection point between a ray and the medium boundaries can be efficiently computed using the bisection method. For general non‐constant media, we model the refractive index as a piecewise‐linear function and render the refraction by tracing the tetrahedron‐based representation of the media. Our algorithm can be easily combined with existing rendering algorithms such as photon mapping to generate complex refractive caustics at interactive frame rates. We also derive analytic ray formulations for tracing mirages – a special gradient‐index optical phenomenon.

This content is not available in your region!

Continue researching here.

Having issues? You can contact us here