3D graphics eBook - Course Materials Repository

3D graphics eBook - Course Materials Repository 3D graphics eBook - Course Materials Repository

courses.essex.ac.uk
from courses.essex.ac.uk More from this publisher
07.01.2013 Views

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.

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)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!