COVID-19 Update: We are currently shipping orders daily. However, due to transit disruptions in some geographies, deliveries may be delayed. To provide all customers with timely access to content, we are offering 50% off Science and Technology Print & eBook bundle options. Terms & conditions.
Object-Oriented Graphics Programming in C++ - 1st Edition - ISBN: 9780126683189, 9781483268439

Object-Oriented Graphics Programming in C++

1st Edition

Author: Roger T. Stevens
eBook ISBN: 9781483268439
Imprint: Academic Press
Published Date: 18th April 1994
Page Count: 510
Sales tax will be calculated at check-out Price includes VAT/GST
Price includes VAT/GST

Institutional Subscription

Secure Checkout

Personal information is secured with SSL technology.

Free Shipping

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



No. of pages:
© Academic Press 1994
18th April 1994
Academic Press
eBook ISBN:

About the Author

Roger T. Stevens

Ratings and Reviews