GOALS OF RENDERING
Here is a fairly ambitious list of the principal geometric types that one
might want to support and some of the optical effects one might want to
simulate in a renderer.
GEOMETRIC TYPES
polygons & polyhedra
quadrics (spheres, cones, cylinders, ...)
parametric surfaces
B-Spline surfaces
Bezier surfaces
NURBS (Non-Uniform Rational B-splines)
implicit surfaces
blobs
algebraic surfaces (e.g. torus)
CSG (constructive solid geometry)
procedurally generated
fractal
volume models
free form deformations (warping)
LIGHT SOURCES
point
parallel (infinitely far away)
area
colored
OPTICS & SHADING
color (obviously)
variety of material types: diffuse, specular, other
(metals, glass, plastic, dirt, skin ...)
transparency with refraction
roughness
texture mapping
bump mapping
environment mapping
general camera model (perspective, fisheye, ...)
depth of field
shadows (penumbras)
indirect lighting (radiosity)
atmospheric effects: fog, rainbows
caustics (focusing of light)
interference, diffraction, phosphorescence, relativistic effects...
ANIMATION
motion blur
OTHER
complex scenes (millions of objects)
antialiasing
real time
parallelizable