did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9781592003693

Beginning Opengl Game Programming

by ;
  • ISBN13:

    9781592003693

  • ISBN10:

    1592003699

  • Edition: 1st
  • Format: Paperback
  • Copyright: 2004-03-19
  • Publisher: Cengage Learning Ptr
  • View Upgraded Edition
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $29.95

Summary

This book provides new game programmers with a complete introduction to 3D game programming using OpenGL. All of the basic elements of OpenGL as it applies to game development are covered.

Author Biography

Dave Astle has been programming games professionally for several years Kevin Hawkins is a lead software engineer at RAYDON Corporation

Table of Contents

Introduction xvii
PART I OPENGL BASICS 1(182)
Chapter 1 The Exploration Begins . . . Again
3(10)
Why Make Games?
3(3)
The World of 3D Games
4(1)
The Elements of a Game
4(2)
What Is OpenGL?
6(4)
OpenGL History
7(1)
OpenGL Architecture
7(2)
Related Libraries
9(1)
A Sneak Peek
10(2)
Summary
12(1)
Chapter 2 Creating a Simple OpenGL Application
13(22)
Introduction to WGL
13(3)
The Rendering Context
14(2)
Pixel Formats
16(4)
dwFlags
18(1)
iPixelType
18(1)
cColorBits
19(1)
Setting the Pixel Format
19(1)
An OpenGL Application
20(11)
Full-Screen OpenGL
31(2)
Summary
33(2)
Chapter 3 OpenGL States and Primitives
35(32)
State Functions
35(4)
Querying Numeric States
36(1)
Enabling and Disabling States
36(1)
gllsEnabled()
37(1)
Querying String Values
37(1)
Finding Errors
38(1)
Giving OpenGL a Hint
39(1)
Handling Primitives
39(25)
Drawing Points in 3D
42(5)
Drawing Lines in 3D
47(5)
Drawing Polygons in 3D
52(8)
Using Primitives: Triangles and Quads Example
60(4)
Attributes
64(1)
Summary
65(2)
Chapter 4 Transformations and Matrices
67(32)
Understanding Coordinate Transformations
67(6)
Eye Coordinates
69(1)
Viewing Transformations
70(1)
Modeling Transformations
71(2)
Projection Transformations
73(1)
Viewport Transformations
73(1)
OpenGL and Matrices
73(14)
The Modelview Matrix
74(1)
Translation
75(2)
Rotation
77(3)
Scaling
80(2)
Matrix Stacks
82(2)
The Robot Example
84(3)
Projections
87(4)
Orthographic
87(1)
Perspective
88(1)
Setting the Viewport
89(1)
Projection Example
90(1)
Manipulating the Viewpoint
91(4)
Using gluLookAt()
92(1)
Using glRotate() and glTranslate()
93(1)
Creating Your Own Custom Routines
94(1)
Using Your Own Matrices
95(2)
Loading Your Matrix
95(1)
Multiplying Matrices
96(1)
Transpose Matrices
96(1)
Summary
97(2)
Chapter 5 Colors, Lighting, Blending, and Fog
99(34)
Using Colors in OpenGL
99(3)
Setting the Color
100(1)
Secondary Color
101(1)
Shading
102(2)
A Colorful Example
104(1)
Lighting in OpenGL
104(17)
OpenGL Lighting and the Real World
104(2)
Light Sources
106(3)
Spotlights
109(2)
Materials
111(4)
Normals
115(3)
The Lighting Model
118(2)
Lighting in Action
120(1)
Blending
121(7)
Separate Blend Functions
125(1)
The Blend Equation
125(2)
Constant Blend Color
127(1)
Disk Blender
127(1)
Fog
128(3)
OpenGL Fog
128(2)
Fog Coordinates
130(1)
Fog in Action
131(1)
Summary
131(2)
Chapter 6 Bitmaps and Images with OpenGL
133(16)
The OpenGL Bitmap
133(5)
Positioning the Bitmap
134(1)
Drawing the Bitmap
135(1)
An OpenGL Bitmap Example
136(2)
Using Images
138(4)
Drawing Image Data
139(2)
Reading from the Screen
141(1)
Copying Screen Data
141(1)
Magnification, Reduction, and Flipping
142(1)
Managing Pixel Storage
142(1)
Targa Image Files
143(4)
The Targa File Format
143(2)
Loading Targa Files
145(2)
Summary
147(2)
Chapter 7 Texture Mapping
149(34)
An Overview of Texture Mapping
150(1)
Texture Coordinates
151(1)
Using the Texture Map
152(14)
Texture Objects
152(3)
Specifying Textures
155(6)
Texture Filtering
161(2)
Basic Texture Example
163(3)
Mipmaps
166(3)
Mipmaps and the OpenGL Utility Library
167(1)
Automatic Mipmap Generation
168(1)
Texture Parameters
169(5)
Texture Wrap Modes
170(3)
Texture Level of Detail
173(1)
Texture Environments and Texture Functions
174(4)
Specifying the Texture Environment
175(3)
Textured Terrain
178(3)
Building the Mesh
178(3)
Summary
181(2)
PART II BEYOND THE BASICS 183(100)
Chapter 8 OpenGL Extensions
185(12)
Anatomy of an Extension
185(3)
Extension Names
186(1)
Name Strings
187(1)
Functions
187(1)
Tokens
188(1)
Using Extensions
188(3)
Checking the Name String
189(1)
Obtaining the Function's Entry Point
190(1)
Declaring Enumerants
191(1)
WGL Extensions
191(1)
Introduction to GLee
192(3)
Setting Up GLee
193(1)
Using GLee
193(1)
Using GLee with Core Extensions
194(1)
Extensions in Action
195(1)
Summary
195(2)
Chapter 9 More on Texture Mapping
197(24)
More on Texture Specification
197(4)
Sub-Images
197(1)
Copying from the Color Buffer
198(3)
The Texture Matrix Stack
201(1)
Texture Coordinate Generation
202(6)
Environment Mapping
205(1)
Example: Reflective Cube Mapping
206(2)
Multitexturing
208(11)
Texture Units
208(2)
Specifying Texture Coordinates
210(1)
Example: Multitextured Terrain
210(3)
Texture Combine
213(3)
Example: Image Interpolation
216(3)
Summary
219(2)
Chapter 10 Up Your Performance
221(28)
Display Lists
221(5)
Creating a Display List
222(1)
Filling a Display List with Commands
223(1)
Executing Display Lists
223(1)
Display List Gotchas
224(1)
Destroying Display Lists
225(1)
Display Lists and Textures
226(1)
Vertex Arrays
226(15)
Array-Based Data
228(1)
Enabling Vertex Arrays
228(1)
Working with Arrays
229(6)
Interleaved Arrays
235(2)
Vertex Arrays and Multitexturing
237(1)
Locking Arrays
238(1)
Marbles
239(2)
Frustum Culling
241(6)
Determining the View Frustum
243(1)
Testing Points
244(1)
Testing Spheres
244(1)
Frustum Culling Applied
245(2)
Summary
247(2)
Chapter 11 Displaying Text
249(12)
Bitmap Fonts
249(4)
Outline Fonts
253(4)
Using glFont
257(1)
The Executable
257(1)
The Code
258(1)
Summary
258(3)
Chapter 12 OpenGL Buffers
261(16)
What Is an OpenGL Buffer?
261(2)
Clearing the Buffers
262(1)
Scissor Boxes
262(1)
The Color Buffer
263(3)
Alpha Test
263(2)
Color Masking
265(1)
Logical Operations
265(1)
The Depth Buffer
266(2)
Depth-Comparison Functions
266(1)
Read-Only Depth Buffer
267(1)
The Stencil Buffer
268(3)
An Example of Stencil Testing
270(1)
The Accumulation Buffer
271(4)
Example: Using the Accumulation Buffer
272(3)
Summary
275(2)
Chapter 13 The Endgame
277(6)
The Design
277(2)
Using OpenGL in the Game
279(3)
Summary
282(1)
PART III APPENDICES 283(18)
Appendix A Answers to Review Questions and Exercises
285(10)
Appendix B Further Reading
295(4)
Online Resources
295(2)
Game Development
295(1)
Game Tutorials
296(1)
Flipcode
296(1)
OpenGL
297(1)
Books
297(2)
C++
297(1)
Windows Programming
297(1)
3D Math
298(1)
OpenGL
298(1)
Graphics Programming
298(1)
Game Development
298(1)
Appendix C What's on the CD
299(2)
Source Code
299(1)
GLee
299(1)
Bonus Chapters
300(1)
Bonus Game
300(1)
Index 301

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program