Object-Oriented Graphics Programming in C++

Object-Oriented Graphics Programming in C++

1st Edition - April 18, 1994

Write a review

  • Author: Roger T. Stevens
  • eBook ISBN: 9781483268439

Purchase options

Purchase options
DRM-free (PDF)
Sales tax will be calculated at check-out

Institutional Subscription

Free Global Shipping
No minimum order


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.

Table of Contents

  • Chapter 1. Introduction

    Hardware Considerations

    Graphics Techniques

    Object-Oriented Mathematics

    Ray Tracing


    Pictures from Kodak CD-ROMs

    Chapter 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 Information

    Chapter 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 Screen

    Chapter 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 Programming

    Classes and Constructors

    Derived Classes, Inheritance and Virtual Functions

    Chapter 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 24X

    Chapter 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 File

    Chapter 7. The Vector Class

    Coordinate Systems


    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 Class

    Chapter 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 Instances

    Chapter 9. Processing Objects with Object-Oriented Programming

    Object Data Definition

    Constructors and Destructors

    Virtual Functions, Overloading, and Overriding Functions

    Chapter 10. Ray Tracing

    Ray Tracing Geometry

    The trace Function

    Specular Reflection

    Mirror Reflections

    Transparent and Semi-transparent Objects

    The Intersect Function

    Chapter 11. Spheres

    Intersecting a Ray with a Sphere

    Normal to a Sphere

    Practical Application

    Chapter 12. Planes and Polygons

    Intersection of a Ray with a Plane


    Chapter 13. Boxes

    Intersection of a Ray and a Box

    Chapter 14. Rings and Circles

    Intersection of a Ray with a Ring or Circle

    Chapter 15. Quadric Shapes, Cones, and Cylinders

    Intersectng a Ray with a Quadric

    Normal to a Quadric

    Practical Application



    Chapter 16. Constructive Solid Geometry

    Problems with Ray Tracing CSG

    The Clipping Technique

    Getting Clipping Data

    Testing Whether or Not an Object Is Clipped

    Chapter 17 Textures and Surfaces

    The Texture File

    Three-Dimensional Noise

    One-Dimensional Noise

    Cycloidal and Spherical Functions

    Turbulence Functions

    Triangle Wave Function


    Interpolating Between Colors

    Special Textures

    Chapter 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


    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 Program

    Chapter 19 Animation

    A Demonstration

    Doing Better with What We've Got

    Using Sprites

    Using the Computer to Generate Animation Frames

    Converting to Television

    Chapter 20 Using Pictures from Kodak CD-ROMs

    Using Tempra Access

    What to Do with Your New Targa Files

    Appendix A Raytrace.H Header File

    Appendix B Raytrace. CPP File

    Appendix C Color Definitions

    Appendix D Ray Tracing Data Files


Product details

  • No. of pages: 510
  • Language: English
  • Copyright: © Academic Press 1994
  • Published: April 18, 1994
  • Imprint: Academic Press
  • eBook ISBN: 9781483268439

About the Author

Roger T. Stevens

Ratings and Reviews

Write a review

There are currently no reviews for "Object-Oriented Graphics Programming in C++"