Lecturer: Dipl.-Ing. Heinz Mayer
Task:
- Developing a Ray-Tracing program which takes a VRML file as input.
- The VRML file is restricted to primitive objects (Box, Cylinder, Sphere, Cone).
- Implementation of a simple straight-forward recursive ray-tracer.
- For enhancing the realism of the scene a distributed ray-tracer has to be implemented. The recursive ray-tracing scheme
produces images which look artificial, a random distribution of rays sent into the scene enhances image quality.
Principle of a recursive Ray-Tracer:
- for each pixel in the result image (at specified camera position) an initial ray is sent into the 3D-scene
- each initial ray intersects a scene object (hidden surface detection)
- at a ray-object intersection point a shadow feeler for every light-source is used to be able to calculate a
lighting model (Phong illumination)
- at each ray-object intersection point a reflected and a transmitted ray is calculated and recursively put into the algorithm
Results of recursive ray-tracer:
Principle of a distributed Ray-Tracer:
- for each pixel in the result image 16 initial rays are sent into the 3D-scene
- for all 16 initial rays exactly one ray is followed through the scene
- reflected and transmitted rays are slightly diverted with respect to normal distribution
- 16 rays are averaged for the result image (Monte-Carlo integration)
Results of distributed ray-tracer:
Shadow effects due to areal light-source:
© 2005 by Martin Urschler
|