The Rendering Software Specification Web Page
This web page presents the main features of a software rendering package that I have been creating over the last two years or so at home on my Mac. The rendering package allows a user to render a computer model in 3D space with realistic textures, shadows, and anti-aliasing applied to it. The user builds a model by specifying a set of tailored geometric primitives that will be used to create it, as well as specifying various characteristics of the light source and camera. Once the model is specified, the system will render the model in a full screen, 24 bit color graphics window.
- Hardware Configuration:
Macintosh Centris 650; 140 MB RAM memory; 832x624 screen resolution;
24 bit true color graphics;
- Software Configuration:
The program was written in C using Symantec's C/C++ Compiler. The program also utilizes several Mac Quickdraw routines.
- Primitive Types:
Cones; Cylinders; Rectangular Cubes; B-spline surfaces (open and closed); Surfaces of revolution (open and closed); Surfaces of projection (open and closed); General n-sided polygons (one and two sided);
- Primitive's Data Structure:
An explicit edge mesh holds a tessellated, i.e. triangulated, representation of the primitives.
- 3D Viewing Pipeline Operations:
World to view, view to viewport, and viewport to device coordinate transformations; Polygon backface removal; 3D polygon clipping to the view volume.
- Primitive's Color:
Gamma corrected color is derived from either user specified texture maps, or direct specification through a Materials Definition Table.
- Primitive's Surface Properties:
Specified through the Materials Definition Table; Each material in this table has entries for its name and color, and its specular and finish characteristics.
- Z-Buffering:
Accomplished via 32 bit unsigned integer, full screen, software Z-buffer;
- Rendering:
Implemented by either constant or Phong display modes; The frame buffer can also be initially filled with either a user specified raster backdrop or a solid color.
- Anti-aliasing (coming):
Accomplished via A-buffer subpixel polygonal area averaging algorithm which can support a maximum of four triangles per pixel;
- Shadows:
Provided via six sided "light buffer" shadow testing accelerator algorithm;
- Camera:
The user selects a fixed POV in 3D space to place the camera (no movement). The user also specifies the horizontal view volume angle, with full angle specifications from 10 - 90 degrees supported, and the camera up-vector angle. The camera also focuses on a user specified point in 3D space called the "center of attention".
- Light Source:
Type: Point; Number of light sources: One; Color: User specified; Ambient and point light intensity levels are also user specified.
- Method of User Input:
All aspects of the model, light source, and camera are contained in a text based model file that is read in at the start of the program's execution. As the program begins, it will automatically validate the contents of the model file prior to its execution to insure the file's correctness. If any errors are detected, the system will report the errors and terminate.
- Program Output:
One full screen, 24 bit gamma corrected true color, perspective view of the model;
- Image Files:
The user has the ability to save and restore full screen, true color images of the program's output to and from disk.
Last Updated: March 7, 1998
HTML URL: http://geocities.datacellar.net/~special_effect/ren_soft_spec.html
E-Mail: special_effect.geo@yahoo.com or click here!
This web page has been graciously provided by Geocities