Object-Oriented Graphics Programming in C++ provides programmers with the information needed to produce realistic pictures on a PC monitor screen.
The book is comprised of 20 chapters that discuss the aspects of graphics programming in C++. The book starts with a short introduction discussing the purpose of the book. It also includes the basic concepts of programming in C++ and the basic hardware requirement. Subsequent chapters cover related topics in C++ programming such as the various display modes; displaying TGA files, and the vector class. The text also tackles subjects on the processing of objects; how the ray tracing process works; how to put the program together and compile and run it; and animation.
Computer programmers will find the book very useful.
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.