Ray Tracing
(TEXT: 16.12, p. 776-792 )
-
tuned for specular and transparent objects
-
global illumination for specular light
-
partly physics-based: geometric optics
Ray tracing tree
raytrace( ray )
o find closest intersection
o cast shadow ray, calculate colour_local
o colour_reflect = raytrace( reflected_ray )
o colour_refract = raytrace( refracted_ray )
o colour = k1*colour_local + k2*colour_reflect
+ k3*colour_refract
o return( colour )
Comments
-
computationally expensive
-
avoid intersection calculations
-
optimize intersection calculations
-
many other optimizations
-
antialiasing
-
distributed ray tracing
-
shadow penumbra
-
depth of field
-
motion blur
-
antialiasing