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