In the summer term 2006 I attended the courses "Computer Graphics II - Rendering" and "Non Photorealistic Rendering" in which advanced computer graphics topics were discussed.
The topics of the rendering course were:
- the rendering equation
- gobal illumination models
- representations for geometry
- volume models
- surface models
- spatial datastructures
- polygonal models
- representations
- mesh decimation
- subdivision surfaces
- texture mapping
- shadow algorithms
- animation
The Non Photorealistic Rendering (NPR) course dealt with:
- Basic Data Types for NPR
- Pixel Images
- 3D Models
- Models of linear features (strokes, etc.
- Pixel Manipulation
- Dithering / Halftoning methods
- Screening (basics, procedural, artistic)
- Image Mosaics
- Silhouettes and Feature Strokes
- Silhouette Computation for Polygonal Shapes
- Feature Strokes
- Hidden Line Removal for Object Space Strokes
- Stippling and Hatching
- Stippling as rendering with 1D Primitives
- Hatching as Rendering with 2D Primitives
- Lighting Models and Shading
- Cel Shading
- Phong-Based NPR Lighting Models
- Alternative Lighting Models
- Simulation of Natural Media
- Pencil Drawings on Paper
- Wax Crayons
- Wet Paint
- Traditional Mosaics
- Distortions
- Image Space Distortions
- Object Space Distortions
- Distortions in Animations
During the courses I implemented a raytracer that had following features:
- xml based scene description
- loading of different geometry
- CSG-Objects
- polygonal meshes
- Wavefront .obj format support
- tori
- quadrics (spheres, ellipses, cones, cylinder)
- Gooch-Shading
- Toon-Shading
- adaptive supersampling
- normal-buffer, z-buffer, id-buffer, reflection and refraction id-buffer output
- affine transformations (scaling, rotation, translation)
- light source attenuation
- fresnel-equations
- acceleration techniques
- axis-aligned bounding boxes
- adaptive depth control
- image-based silhouettes
Images
|
|