Chapter 1. Introduction Hardware Considerations Graphics Techniques Object-Oriented Mathematics Ray Tracing Animation Pictures from Kodak CD-ROMsChapter 2. Display Modes: VGA, VESA, Super VGA and Undocumented A Little History Standard VGA Modes BIOS Function for Writing Pixels Undocumented VGA Modes More History VESA Super VGA Display Modes Proprietary Super VGA Modes Programming without Sufficient InformationChapter 3. Selecting Colors with An Octree Using an Octree Structure of an Octree Node Creating the Octree Inserting Color Data in a Node Reducing the Size of an Octree Setting the VGA Palette Displaying Pixels on the ScreenChapter 4. Displaying TGA Files The Torgo File Format The DISTGAC.C Program Selecting a File for Display Processing the Picture File Gamma Correction Setting the Display Mode Displaying the Picture Using Object-Oriented ProgrammingClasses and Constructors Derived Classes, Inheritance and Virtual FunctionsChapter 5. Displaying Four Pictures on a Single Screen Selecting Files for Display Displaying the Selected Files with the STB Powergraph X-24 Displaying the Selected Files with the Diamond Speedstar 24XChapter 6. Saving and Restoring .PCX Files The .PCX Header Run Length Limited Encoding Displaying a 24-bit Color .PCX File with the STB Powergraph X-24 Displaying a 24-bit Color .PCX File with the Diamond Speedstar 24X Converting a largo File to a .PCX FileChapter 7. The Vector Class Coordinate Systems Vectors Vector Header File Using Templates Vector Constructors Vector Addition and Subtraction Vector Products Vector Relationships Normalizing a Vector Maximum and Minimum of Two Vectors Length of a Vector Vector Rotation Displaying Vector Data: Friends to a ClassChapter 8. Ray Tracing Language Description Philosophy of the Scene Description Language The get_string Function The get_floot_vector and getJnt_vector Functions Basic Input File Structure Textures and Colors Additional Predefined Textures Scene Basics The Observer The Lamp Command Primitive Objects Clipping Commands Bounding Boxes Use of InstancesChapter 9. Processing Objects with Object-Oriented Programming Object Data Definition Constructors and Destructors Virtual Functions, Overloading, and Overriding FunctionsChapter 10. Ray Tracing Ray Tracing Geometry The trace Function Specular Reflection Mirror Reflections Transparent and Semi-transparent Objects The Intersect FunctionChapter 11. Spheres Intersecting a Ray with a Sphere Normal to a Sphere Practical ApplicationChapter 12. Planes and Polygons Intersection of a Ray with a Plane PolygonsChapter 13. Boxes Intersection of a Ray and a Box Chapter 14. Rings and Circles Intersection of a Ray with a Ring or CircleChapter 15. Quadric Shapes, Cones, and Cylinders Intersectng a Ray with a Quadric Normal to a Quadric Practical Application Cones CylindersChapter 16. Constructive Solid Geometry Problems with Ray Tracing CSG The Clipping Technique Getting Clipping Data Testing Whether or Not an Object Is ClippedChapter 17 Textures and Surfaces The Texture File Three-Dimensional Noise One-Dimensional Noise Cycloidal and Spherical Functions Turbulence Functions Triangle Wave Function Ripples Interpolating Between Colors Special TexturesChapter 18 The Ray Tracing Program Compiling and Running Ray Tracing Program Details Linked Lists Further Details on the Data Collection Process Getting Object Data Getting Color Data Getting Vectors Intersections Making Bounding Boxes Moving Instances Finding a Match for a Name Moving an Instance Mode Setting and Plotting Obtaining the Display of Available Data Files Viewing Object Information Tracing a Ray The Main ProgramChapter 19 Animation A Demonstration Doing Better with What We've Got Using Sprites Using the Computer to Generate Animation Frames Converting to TelevisionChapter 20 Using Pictures from Kodak CD-ROMs Using Tempra Access What to Do with Your New Targa FilesAppendix A Raytrace.H Header FileAppendix B Raytrace. CPP FileAppendix C Color DefinitionsAppendix D Ray Tracing Data FilesIndex