Object-Oriented Graphics Programming in C++

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 purp...

Full description

Saved in:
Bibliographic Details
Main Author Stevens, Roger T
Format eBook
LanguageEnglish
Published Chantilly Elsevier Science & Technology 1994
Edition1
Subjects
Online AccessGet full text
ISBN9780126683189
0126683182

Cover

Table of Contents:
  • 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_float_vector and get_int_ 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 -- Transparent and Semi-transparent Objects -- The Intersect Function -- Chapter 11. Spheres -- Intersecting á Ray with a Sphere -- Normal to a Sphere -- Practical Application -- Chapter 12. Planes and Polygons -- Intersection of á Ray with a Plane -- Polygons -- Chapter 13. Boxes -- Intersection of á Ray and a Box -- Chapter 14. Rings and Circles -- Intersection of á Ray with a Ring or Circle -- Chapter 15. Quadric Shapes, Cones,and Cylinders -- Intersecting a Ray with a Quadric -- Normal to a Quadric -- Practical Application -- Cones -- Cylinders -- Chapter 16. Constructive Solid Geometry -- Problems with Ray Tracing CSG -- The Clipping Technique -- Getting Clipping Data -- Testing Whether or Not an Object Location 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 -- Ripples -- Interpolating Between Colors -- Special Textures -- Chapter 18. The Ray Tracing Program
  • Front Cover -- Object-Oriented Graphics Programming in C++ -- Copyright Page -- Table of Contents -- Dedication -- Acknowledgements -- Chapter 1. Introduction -- Hardware Considerations -- Graphics Techniques -- Object-Oriented Mathematics -- Ray Tracing -- Animation -- 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 Display Modes -- More History -- VESA Super VGA Display Modes -- Proprietary Super VGA Display 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 Targa File Format -- The DISTGAC.C Program -- Selecting á 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 .PCXFile with the Diamond Speedstar 24X -- Converting á Targa File to a .PCX File -- Chapter 7. The Vector Class -- Coordinate Systems -- Vectors -- Vector Header File -- Using Templates -- Vector Constructors -- Vector Addition and Subtraction -- Vector Products
  • Compiling and Running -- Ray Tracing Program Details -- Linked Lists -- Further Details of 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 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: RAYTRA CE. CPP File -- Appendix C: Color Definitions -- Appendix D: Ray Tracing Data Files -- Index