3D graphics eBook - Course Materials Repository
3D graphics eBook - Course Materials Repository 3D graphics eBook - Course Materials Repository
Ray tracing 153 Now we only need to compute the intersection of the latter ray with our field of view, to get the pixel which our reflected light ray will hit. Lastly, this pixel is set to an appropriate color, taking into account how the color of the original light source and the one of the sphere are combined by the reflection. This is merely the math behind the line–sphere intersection and the subsequent determination of the colour of the pixel being calculated. There is, of course, far more to the general process of raytracing, but this demonstrates an example of the algorithms used. References [1] Appel A. (1968) Some techniques for shading machine rendering of solids (http:/ / graphics. stanford. edu/ courses/ Appel. pdf). AFIPS Conference Proc. 32 pp.37-45 [2] Whitted T. (1979) An improved illumination model for shaded display (http:/ / citeseerx. ist. psu. edu/ viewdoc/ summary?doi=10. 1. 1. 156. 1534). Proceedings of the 6th annual conference on Computer graphics and interactive techniques [3] Tomas Nikodym (June 2010). "Ray Tracing Algorithm For Interactive Applications" (https:/ / dip. felk. cvut. cz/ browse/ pdfcache/ nikodtom_2010bach. pdf). Czech Technical University, FEE. . [4] A. Chalmers, T. Davis, and E. Reinhard. Practical parallel rendering, ISBN 1568811799. AK Peters, Ltd., 2002. [5] Eric P. Lafortune and Yves D. Willems (December 1993). "Bi-Directional Path Tracing" (http:/ / www. graphics. cornell. edu/ ~eric/ Portugal. html). Proceedings of Compugraphics '93: 145–153. . [6] Péter Dornbach. "Implementation of bidirectional ray tracing algorithm" (http:/ / www. cescg. org/ CESCG98/ PDornbach/ index. html). . Retrieved 2008-06-11. [7] Global Illumination using Photon Maps (http:/ / graphics. ucsd. edu/ ~henrik/ papers/ photon_map/ global_illumination_using_photon_maps_egwr96. pdf) [8] Photon Mapping - Zack Waters (http:/ / web. cs. wpi. edu/ ~emmanuel/ courses/ cs563/ write_ups/ zackw/ photon_mapping/ PhotonMapping. html) [9] http:/ / graphics. stanford. edu/ papers/ metro/ metro. pdf [10] See Proceedings of 4th Computer Graphics Workshop, Cambridge, MA, USA, October 1987. Usenix Association, 1987. pp 86–98. [11] "About BRL-CAD" (http:/ / brlcad. org/ d/ about). . Retrieved 2009-07-28. [12] Piero Foscari. "The Realtime Raytracing Realm" (http:/ / www. acm. org/ tog/ resources/ RTNews/ demos/ overview. htm). ACM Transactions on Graphics. . Retrieved 2007-09-17. [13] Mark Ward (March 16, 2007). "Rays light up life-like graphics" (http:/ / news. bbc. co. uk/ 1/ hi/ technology/ 6457951. stm). BBC News. . Retrieved 2007-09-17. [14] Theo Valich (June 12, 2008). "Intel converts ET: Quake Wars to ray tracing" (http:/ / www. tgdaily. com/ html_tmp/ content-view-37925-113. html). TG Daily. . Retrieved 2008-06-16. [15] Nvidia (October 18, 2009). "Nvidia OptiX" (http:/ / www. nvidia. com/ object/ optix. html). Nvidia. . Retrieved 2009-11-06. External links • What is ray tracing ? (http:/ / www. codermind. com/ articles/ Raytracer-in-C+ + -Introduction-What-is-ray-tracing. html) • Ray Tracing and Gaming - Quake 4: Ray Traced Project (http:/ / www. pcper. com/ article. php?aid=334) • Ray tracing and Gaming - One Year Later (http:/ / www. pcper. com/ article. php?aid=506) • Interactive Ray Tracing: The replacement of rasterization? (http:/ / www. few. vu. nl/ ~kielmann/ theses/ avdploeg. pdf) • A series of tutorials on implementing a raytracer using C++ (http:/ / www. devmaster. net/ articles/ raytracing_series/ part1. php) Videos • The Compleat Angler (1978) (http:/ / www. youtube. com/ watch?v=WV4qXzM641o)
Reflection 154 Reflection Reflection in computer graphics is used to emulate reflective objects like mirrors and shiny surfaces. Reflection is accomplished in a ray trace renderer by following a ray from the eye to the mirror and then calculating where it bounces from, and continuing the process until no surface is found, or a non-reflective surface is found. Reflection on a shiny surface like wood or tile can add to the photorealistic effects of a 3D rendering. • Polished - A Polished Reflection is an undisturbed reflection, like a mirror or chrome. • Blurry - A Blurry Reflection means that tiny random bumps on the surface of the material cause the reflection to be blurry. • Metallic - A reflection is Metallic if the highlights and reflections retain the color of the reflective object. • Glossy - This term can be misused. Sometimes it is a setting which is the opposite of Blurry. (When "Glossiness" has a low value, the reflection is blurry.) However, some people use the term "Glossy Ray traced model demonstrating specular reflection. Reflection" as a synonym for "Blurred Reflection." Glossy used in this context means that the reflection is actually blurred. Examples Polished or Mirror reflection Mirrors are usually almost 100% reflective. Mirror on wall rendered with 100% reflection.
- Page 107 and 108: Phong reflection model 102 Visual i
- Page 109 and 110: Phong reflection model 104 Because
- Page 111 and 112: Phong shading 106 Visual illustrati
- Page 113 and 114: Photon mapping 108 Rendering (2nd p
- Page 115 and 116: Photon tracing 110 Advantages and d
- Page 117 and 118: Potentially visible set 112 • Can
- Page 119 and 120: Potentially visible set 114 Externa
- Page 121 and 122: Procedural generation 116 increases
- Page 123 and 124: Procedural generation 118 • Softi
- Page 125 and 126: Procedural generation 120 Reference
- Page 127 and 128: Procedural texture 122 Self-organiz
- Page 129 and 130: Procedural texture 124 References [
- Page 131 and 132: 3D projection 126 The distance of t
- Page 133 and 134: Quaternions and spatial rotation 12
- Page 135 and 136: Quaternions and spatial rotation 13
- Page 137 and 138: Quaternions and spatial rotation 13
- Page 139 and 140: Quaternions and spatial rotation 13
- Page 141 and 142: Quaternions and spatial rotation 13
- Page 143 and 144: Quaternions and spatial rotation 13
- Page 145 and 146: Radiosity 140 Overview of the radio
- Page 147 and 148: Radiosity 142 This is sometimes kno
- Page 149 and 150: Radiosity 144 References [1] " Mode
- Page 151 and 152: Ray casting 146 the light will reac
- Page 153 and 154: Ray tracing 148 Typically, each ray
- Page 155 and 156: Ray tracing 150 independence of eac
- Page 157: Ray tracing 152 On June 12, 2008 In
- Page 161 and 162: Reflection 156 Glossy Reflection Fu
- Page 163 and 164: Reflection mapping 158 Cube mapping
- Page 165 and 166: Render Output unit 160 Render Outpu
- Page 167 and 168: Rendering 162 • indirect illumina
- Page 169 and 170: Rendering 164 Ray tracing Ray traci
- Page 171 and 172: Rendering 166 Academic core The imp
- Page 173 and 174: Rendering 168 • 1984 Distributed
- Page 175 and 176: Retained mode 170 Retained mode In
- Page 177 and 178: Scanline rendering 172 Comparison w
- Page 179 and 180: Screen Space Ambient Occlusion 174
- Page 181 and 182: Screen Space Ambient Occlusion 176
- Page 183 and 184: Shadow mapping 178 Algorithm overvi
- Page 185 and 186: Shadow mapping 180 Drawing the scen
- Page 187 and 188: Shadow mapping 182 Further reading
- Page 189 and 190: Shadow volume 184 There is also a p
- Page 191 and 192: Shadow volume 186 The depth fail me
- Page 193 and 194: Silhouette edge 188 Silhouette edge
- Page 195 and 196: Specular highlight 190 Specular hig
- Page 197 and 198: Specular highlight 192 normalized o
- Page 199 and 200: Sphere mapping 194 Sphere mapping I
- Page 201 and 202: Stencil codes 196 Stencil codes Ste
- Page 203 and 204: Stencil codes 198 Stencils The shap
- Page 205 and 206: Stencil codes 200 [7] Wellein, G et
- Page 207 and 208: Subdivision surface 202 used a four
Ray tracing 153<br />
Now we only need to compute the intersection of the latter ray with our field of view, to get the pixel which our<br />
reflected light ray will hit. Lastly, this pixel is set to an appropriate color, taking into account how the color of the<br />
original light source and the one of the sphere are combined by the reflection.<br />
This is merely the math behind the line–sphere intersection and the subsequent determination of the colour of the<br />
pixel being calculated. There is, of course, far more to the general process of raytracing, but this demonstrates an<br />
example of the algorithms used.<br />
References<br />
[1] Appel A. (1968) Some techniques for shading machine rendering of solids (http:/ / <strong>graphics</strong>. stanford. edu/ courses/ Appel. pdf). AFIPS<br />
Conference Proc. 32 pp.37-45<br />
[2] Whitted T. (1979) An improved illumination model for shaded display (http:/ / citeseerx. ist. psu. edu/ viewdoc/ summary?doi=10. 1. 1. 156.<br />
1534). Proceedings of the 6th annual conference on Computer <strong>graphics</strong> and interactive techniques<br />
[3] Tomas Nikodym (June 2010). "Ray Tracing Algorithm For Interactive Applications" (https:/ / dip. felk. cvut. cz/ browse/ pdfcache/<br />
nikodtom_2010bach. pdf). Czech Technical University, FEE. .<br />
[4] A. Chalmers, T. Davis, and E. Reinhard. Practical parallel rendering, ISBN 1568811799. AK Peters, Ltd., 2002.<br />
[5] Eric P. Lafortune and Yves D. Willems (December 1993). "Bi-Directional Path Tracing" (http:/ / www. <strong>graphics</strong>. cornell. edu/ ~eric/<br />
Portugal. html). Proceedings of Compu<strong>graphics</strong> '93: 145–153. .<br />
[6] Péter Dornbach. "Implementation of bidirectional ray tracing algorithm" (http:/ / www. cescg. org/ CESCG98/ PDornbach/ index. html). .<br />
Retrieved 2008-06-11.<br />
[7] Global Illumination using Photon Maps (http:/ / <strong>graphics</strong>. ucsd. edu/ ~henrik/ papers/ photon_map/<br />
global_illumination_using_photon_maps_egwr96. pdf)<br />
[8] Photon Mapping - Zack Waters (http:/ / web. cs. wpi. edu/ ~emmanuel/ courses/ cs563/ write_ups/ zackw/ photon_mapping/ PhotonMapping.<br />
html)<br />
[9] http:/ / <strong>graphics</strong>. stanford. edu/ papers/ metro/ metro. pdf<br />
[10] See Proceedings of 4th Computer Graphics Workshop, Cambridge, MA, USA, October 1987. Usenix Association, 1987. pp 86–98.<br />
[11] "About BRL-CAD" (http:/ / brlcad. org/ d/ about). . Retrieved 2009-07-28.<br />
[12] Piero Foscari. "The Realtime Raytracing Realm" (http:/ / www. acm. org/ tog/ resources/ RTNews/ demos/ overview. htm). ACM<br />
Transactions on Graphics. . Retrieved 2007-09-17.<br />
[13] Mark Ward (March 16, 2007). "Rays light up life-like <strong>graphics</strong>" (http:/ / news. bbc. co. uk/ 1/ hi/ technology/ 6457951. stm). BBC News. .<br />
Retrieved 2007-09-17.<br />
[14] Theo Valich (June 12, 2008). "Intel converts ET: Quake Wars to ray tracing" (http:/ / www. tgdaily. com/ html_tmp/<br />
content-view-37925-113. html). TG Daily. . Retrieved 2008-06-16.<br />
[15] Nvidia (October 18, 2009). "Nvidia OptiX" (http:/ / www. nvidia. com/ object/ optix. html). Nvidia. . Retrieved 2009-11-06.<br />
External links<br />
• What is ray tracing ? (http:/ / www. codermind. com/ articles/ Raytracer-in-C+ +<br />
-Introduction-What-is-ray-tracing. html)<br />
• Ray Tracing and Gaming - Quake 4: Ray Traced Project (http:/ / www. pcper. com/ article. php?aid=334)<br />
• Ray tracing and Gaming - One Year Later (http:/ / www. pcper. com/ article. php?aid=506)<br />
• Interactive Ray Tracing: The replacement of rasterization? (http:/ / www. few. vu. nl/ ~kielmann/ theses/<br />
avdploeg. pdf)<br />
• A series of tutorials on implementing a raytracer using C++ (http:/ / www. devmaster. net/ articles/<br />
raytracing_series/ part1. php)<br />
Videos<br />
• The Compleat Angler (1978) (http:/ / www. youtube. com/ watch?v=WV4qXzM641o)