Graphics & Visualization Chapter 15 Ray Tracing Graphics & Visualization: Principles & Algorithms Chapter 15
Introduction • Direct-rendering algorithms: Sorting is performed in image space (Z-buffer) Object-to-screen space image synthesizers • Ray tracing is a general algorithm that operates in the opposite manner: It is a screen-to-object space image synthesizer • In ray tracing , we follow rays along the line of sight passing through each pixel as they travel through the 3-D scene registers what the observer sees along this direction • As ray encounters geometric entities: Specularly reflected, refracted, or attenuated (completely absorbed) 2 Graphics & Visualization: Principles & Algorithms Chapter 15
Introduction (2) • Hidden surface elimination happens as part of this process: Ray encounters surface interfaces closer to the viewer first while it travels through the 3-D world • Simple direct rendering relies on local shading models: Shadows & reflected/refracted light on surfaces need to be simulated separately & fused as color information in the local illumination model used during scan conversion • Ray tracing, integrates all calculations that involve specular transmission of light in a single & elegant recursive algorithm, the recursive ray tracing algorithm 3 Graphics & Visualization: Principles & Algorithms Chapter 15
Principles of Ray Tracing • Light transmission: An infinite number of rays emanate from a light source, and a small number reach the eye after following complex paths within the scene • Light is diffusely scattered and specularly reflected or refracted • Part of the specularly & diffusely reflected light is directly received by the observer 4 Graphics & Visualization: Principles & Algorithms Chapter 15
Principles of Ray Tracing (2) • Light reaches the observer indirectly as well: Following paths through transparent media or by being reflected off perfect mirrors • But: Given a very large but finite number of rays starting from the light sources, it is statistically unlikely that they will hit the image pixels and contribute to the final result We must find a different sampling mechanism that ensures that the image pixels are crossed by the light paths and thus adequately sampled 5 Graphics & Visualization: Principles & Algorithms Chapter 15
Principles of Ray Tracing (3) • In ray tracing: Light seen through a pixel of the rendered image is the cumulative contribution of the rays that directly or indirectly hit the surface point visible in this direction and that travel toward the viewpoint • Nearest point encountered by looking at the scene though pixel ( i , j ) in general obstructs all other geometry behind it: Point may or may not be directly illuminated by the light source(s), depending on whether other geometry prevents the light from reaching it Paths reaching intersection point from other directions traveling toward pixel ( i , j ) can be followed to discover what light they contribute • This is possible due to the reciprocity of light propagation: Light follows same path during refraction or perfect reflection on a material interface regardless of the direction of propagation 6 Graphics & Visualization: Principles & Algorithms Chapter 15
Principles of Ray Tracing (4) • If it is directly lit by the light source local illumination model can be applied • Cumulative illumination visible through a frame-buffer pixel ( i , j ) due to the contribution of direct and indirect rays: 7 Graphics & Visualization: Principles & Algorithms Chapter 15
Principles of Ray Tracing (5) • Since we are only interested in those rays that eventually reach the viewpoint through a viewport pixel Trace back the light contributions by following the rays in the opposite direction of their propagation toward the source • For each ray back to its source evaluate the light propagated toward the viewer by applying a local illumination model & re- investigating for other secondary rays that reach that point: This is exactly the mechanism of ray tracing A computationally manageable problem 8 Graphics & Visualization: Principles & Algorithms Chapter 15
Principles of Ray Tracing (6) • Compared to direct-rendering algorithms, ray tracing has 2 significant advantages : Ray-geometry intersections can be directly performed using non- polygonal surfaces, such as geometric solids, implicit or parametric surfaces, and fractals, without requiring any conversion to polygons first Mathematical surfaces that can be intersected by a ray can be rendered Reflection & refraction phenomena can be accurately modeled 9 Graphics & Visualization: Principles & Algorithms Chapter 15
Ray Diversion Reflection Refraction 10 Graphics & Visualization: Principles & Algorithms Chapter 15
Reflection ˆ i • For an arbitrary ray of light from a direction incident on a r perfectly reflecting interface between 2 bodies, the reflected ray ˆ r in the perfect mirror-reflection direction is: r (15.1) ˆ ˆ ˆ ˆ ˆ 2 ( · ) r r n n r r i i • Notice that here the incident direction is the opposite of the light ˆ direction vector since we need to emphasize the direction of l propagation for clarity 11 Graphics & Visualization: Principles & Algorithms Chapter 15
Refraction • Simple index of refraction (or refractive index ) n : Ratio between speed of light c in a vacuum & the phase velocity of light u in this medium: / n c u (15.2) • n > 1: Transparent materials & n ~ 1: Air • n depends on wavelength λ of the light n = n ( λ ) For visible light: n ↓ when wavelength • Phase velocity is responsible for the bending of the propagation direction as the light crosses the interface between them sin n • According to Snell's law : (15.3) 1 t sin n 2 i Light entering a medium with larger index of refraction ( n 2 > n 1 ) is bent toward the normal direction of the optically denser medium 12 Graphics & Visualization: Principles & Algorithms Chapter 15
Refraction (2) • When ( n 2 < n 1 ) total internal reflection may occur Light not transmitted through the boundary but reflected back • Min angle of incidence at which total internal reflection occurs is called a critical angle θ c : n 2 arcsin (15.4) c n 1 13 Graphics & Visualization: Principles & Algorithms Chapter 15
Refraction (3) • Calculation of the direction of the new, transmitted ray : ˆ ˆ ˆ cos si n , (15.5) r n g t t t ˆ ˆ p g r where : unit length vector || and: ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ cos ·( · ) ( ) · r r n r n r n r n r n (15.6) p i i i i i i ˆ i ˆ r • is a unit vector length of si n r p i • After normalizing it, we get: ˆ ˆ ˆ ˆ ˆ r ( · ) r n n r (15.7) ˆ p i i g sin s in i i ˆ g • Replacing from (15.7) into (15.5): sin (15.8) ˆ ˆ ˆ ˆ ˆ ˆ t =- cos - ( · )- . r n n nr r t t i sin i 14 Graphics & Visualization: Principles & Algorithms Chapter 15
Refraction (4) • From (15.3) we can replace the sines in the above relation with the indices of refraction • Also, using Pythagorean trigonometric identity 2 cos 1 sin t t we get: 2 2 n n 2 2 2 (15.9) 1 1 cos 1 sin 1 sin 1 1 cos t t i i 2 2 n n 2 2 • Introducing these relations in (15.8): 2 n n ˆ ˆ ˆ ˆ ˆ ˆ 2 1 1 1 1 cos · r n n nr r t i i i 2 (15.10) n n 2 2 • Final step replace cosine with corresponding inner product: 2 2 n n n n n 2 2 ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ (15.11) 1 1 1 1 1 1 1 · · · 1 1 · r n n r n n r r r n n r n r t 2 i i i i i 2 i n n n n n 2 2 2 2 2 15 Graphics & Visualization: Principles & Algorithms Chapter 15
Refraction (5) • Note that quantity inside the radical of (15.11) is > 0: If < 0 total internal refraction & new ray is calculated from (15.1) • Refracted ray calculation: 16 Graphics & Visualization: Principles & Algorithms Chapter 15
Recommend
More recommend