OpenGL ® SuperBible, Fourth Edition, begins by illuminating the core techniques of â''classicâ'' OpenGL graphics programming, from drawing in space to geometric transformations, from lighting to texture mapping. The authors cover newer OpenGL capabilities, including OpenGL 2.1â''s powerful programmable pipeline, vertex and fragment shaders, and advanced buffers. They also present thorough, up-to-date introductions to OpenGL implementations on multiple platforms, including Windows, Mac OS X, GNU/Linux, UNIX, and embedded systems.
Coverage includes
· An entirely new chapter on OpenGL ES programming for handhelds
· Completely rewritten chapters on OpenGL for Mac OS X and GNU/Linux
· Up-to-the-minute coverage of OpenGL on Windows Vista
· New material on floating-point color buffers and off-screen rendering
· In-depth introductions to 3D modeling and object composition
· Expert techniques for utilizing OpenGLâ''s programmable shading language
· Thorough coverage of curves, surfaces, interactive graphics, textures, shadows, and much more
· A fully updated API reference, and an all-new section of full-color images
Youâ''ll rely on this book constantlyâ''whether youâ''re learning OpenGL for the first time, deepening your graphics programming expertise, upgrading from older versions of OpenGL, or porting applications from other environments.
Now part of the OpenGL Technical Libraryâ''The official knowledge resource for OpenGL developers
The OpenGL Technical Library provides tutorial and reference books for OpenGL. The Library enables programmers to gain a practical understanding of OpenGL and shows them how to unlock its full potential. Originally developed by SGI, the Library continues to evolve under the auspices of the OpenGL Architecture Review Board (ARB) Steering Group (now part of the Khronos Group), an industry consortium responsible for guiding the evolution of OpenGL and related technologies.
Contents
Preface xxvii
About the Authors xxxv
Introduction 1
Part I: The Old Testament
Chapter 1 Introduction to 3D Graphics and OpenGL 9
Chapter 2 Using OpenGL 33
Chapter 3 Drawing in Space: Geometric Primitives and Buffers 73
Chapter 4 Geometric Transformations: The Pipeline 127
Chapter 5 Color, Materials, and Lighting: The Basics 173
Chapter 6 More on Colors and Materials 229
Chapter 7 Imaging with OpenGL 251
Chapter 8 Texture Mapping: The Basics 303
Chapter 9 Texture Mapping: Beyond the Basics 341
Chapter 10 Curves and Surfaces 377
Chapter 11 Itâ''s All About the Pipeline: Faster Geometry Throughput 421
Chapter 12 Interactive Graphics 457
Chapter 13 Occlusion Queries: Why Do More Work Than You Need To? 481
Chapter 14 Depth Textures and Shadows 495
Part II
About the Author
Richard S. Wright, Jr. has been using OpenGL for more than 12 years, since it first became available on the Windows platform, and teaches OpenGL programming in the game design degree program at Full Sail in Orlando, Florida. Currently, Richard is the president of Starstone Software Systems, Inc., where he develops third-party multimedia simulation software for the PC and Macintosh platforms using OpenGL.
Previously with Real 3D/Lockheed Martin, Richard was a regular OpenGL ARB attendee and contributed to the OpenGL 1.2 specification and conformance tests. Since then, Richard has worked in multidimensional database visualization, game development, medical diagnostic visualization, and astronomical space simulation.
Richard first learned to program in the eighth grade in 1978 on a paper terminal. At age 16, his parents let him buy a computer with his grass-cutting money instead of a car, and he sold his first computer program less than a year later (and it was a graphics program!). When he graduated from high school, his first job was teaching programming and computer literacy for a local consumer education company. He studied electrical engineering and computer science at the University of Louisvilleâ''s Speed Scientific School and made it half way through his senior year before his career got the best of him and took him to Florida. A native of Louisville, Kentucky, he now lives with his wife and three children in Lake Mary, Florida. When not programming or dodging hurricanes, Richard is an avid amateur astronomer and an Adult Sunday School teacher.
Benjamin Lipchak graduated from Worcester Polytechnic Institute with a double major in technical writing and computer science. â''Why would anyone with a CS degree want to become a writer?â'' That was the question asked of him one fateful morning when Benj was interviewing for a tech writing job at Digital Equipment Corporation. Benjâ''s interview took longer than scheduled, and he left that day with job offer in hand to work on the software team responsible for DECâ''s AlphaStation OpenGL drivers.
Benjâ''s participation in the OpenGL Architecture Review Board began when he chaired the working group that generated the GL_ARB_fragment_program extension spec. While chairing the Khronos OpenGL Ecosystem Technical SubGroup, he established the OpenGL SDK and created the OpenGL Pipeline newsletter, of which he remains editor.
Benj will now participate in the Khronos OpenGL ES Working Group. After 12 years of OpenGL driver development and driver team management at DEC, Compaq, and ATI, he is headed for smaller pastures. Benj recently became manager of AMDâ''s handheld software team. Although the API is familiar, the new challenges of size and power consumption make for a great change of scenery. In his fleeting spare time, Benj tries to get outdoors for some hiking or kayaking. He also operates an independent record label, Wachusett Records, specializing in solo piano music.
Nicholas Haemel , developer at AMD in the Graphics Products Group, was technical reviewer for OpenGL SuperBible, Third Edition , and contributed the chapters on GLX and OpenGL ES.
Description:
OpenGL ® SuperBible, Fourth Edition, begins by illuminating the core techniques of â''classicâ'' OpenGL graphics programming, from drawing in space to geometric transformations, from lighting to texture mapping. The authors cover newer OpenGL capabilities, including OpenGL 2.1â''s powerful programmable pipeline, vertex and fragment shaders, and advanced buffers. They also present thorough, up-to-date introductions to OpenGL implementations on multiple platforms, including Windows, Mac OS X, GNU/Linux, UNIX, and embedded systems.
Coverage includes
· An entirely new chapter on OpenGL ES programming for handhelds
· Completely rewritten chapters on OpenGL for Mac OS X and GNU/Linux
· Up-to-the-minute coverage of OpenGL on Windows Vista
· New material on floating-point color buffers and off-screen rendering
· In-depth introductions to 3D modeling and object composition
· Expert techniques for utilizing OpenGLâ''s programmable shading language
· Thorough coverage of curves, surfaces, interactive graphics, textures, shadows, and much more
· A fully updated API reference, and an all-new section of full-color images
Youâ''ll rely on this book constantlyâ''whether youâ''re learning OpenGL for the first time, deepening your graphics programming expertise, upgrading from older versions of OpenGL, or porting applications from other environments.
Now part of the OpenGL Technical Libraryâ''The official knowledge resource for OpenGL developers
The OpenGL Technical Library provides tutorial and reference books for OpenGL. The Library enables programmers to gain a practical understanding of OpenGL and shows them how to unlock its full potential. Originally developed by SGI, the Library continues to evolve under the auspices of the OpenGL Architecture Review Board (ARB) Steering Group (now part of the Khronos Group), an industry consortium responsible for guiding the evolution of OpenGL and related technologies.
Contents
Preface xxvii
About the Authors xxxv
Introduction 1
Part I: The Old Testament
Chapter 1 Introduction to 3D Graphics and OpenGL 9
Chapter 2 Using OpenGL 33
Chapter 3 Drawing in Space: Geometric Primitives and Buffers 73
Chapter 4 Geometric Transformations: The Pipeline 127
Chapter 5 Color, Materials, and Lighting: The Basics 173
Chapter 6 More on Colors and Materials 229
Chapter 7 Imaging with OpenGL 251
Chapter 8 Texture Mapping: The Basics 303
Chapter 9 Texture Mapping: Beyond the Basics 341
Chapter 10 Curves and Surfaces 377
Chapter 11 Itâ''s All About the Pipeline: Faster Geometry Throughput 421
Chapter 12 Interactive Graphics 457
Chapter 13 Occlusion Queries: Why Do More Work Than You Need To? 481
Chapter 14 Depth Textures and Shadows 495
Part II
About the Author
Richard S. Wright, Jr. has been using OpenGL for more than 12 years, since it first became available on the Windows platform, and teaches OpenGL programming in the game design degree program at Full Sail in Orlando, Florida. Currently, Richard is the president of Starstone Software Systems, Inc., where he develops third-party multimedia simulation software for the PC and Macintosh platforms using OpenGL.
Previously with Real 3D/Lockheed Martin, Richard was a regular OpenGL ARB attendee and contributed to the OpenGL 1.2 specification and conformance tests. Since then, Richard has worked in multidimensional database visualization, game development, medical diagnostic visualization, and astronomical space simulation.
Richard first learned to program in the eighth grade in 1978 on a paper terminal. At age 16, his parents let him buy a computer with his grass-cutting money instead of a car, and he sold his first computer program less than a year later (and it was a graphics program!). When he graduated from high school, his first job was teaching programming and computer literacy for a local consumer education company. He studied electrical engineering and computer science at the University of Louisvilleâ''s Speed Scientific School and made it half way through his senior year before his career got the best of him and took him to Florida. A native of Louisville, Kentucky, he now lives with his wife and three children in Lake Mary, Florida. When not programming or dodging hurricanes, Richard is an avid amateur astronomer and an Adult Sunday School teacher.
Benjamin Lipchak graduated from Worcester Polytechnic Institute with a double major in technical writing and computer science. â''Why would anyone with a CS degree want to become a writer?â'' That was the question asked of him one fateful morning when Benj was interviewing for a tech writing job at Digital Equipment Corporation. Benjâ''s interview took longer than scheduled, and he left that day with job offer in hand to work on the software team responsible for DECâ''s AlphaStation OpenGL drivers.
Benjâ''s participation in the OpenGL Architecture Review Board began when he chaired the working group that generated the GL_ARB_fragment_program extension spec. While chairing the Khronos OpenGL Ecosystem Technical SubGroup, he established the OpenGL SDK and created the OpenGL Pipeline newsletter, of which he remains editor.
Benj will now participate in the Khronos OpenGL ES Working Group. After 12 years of OpenGL driver development and driver team management at DEC, Compaq, and ATI, he is headed for smaller pastures. Benj recently became manager of AMDâ''s handheld software team. Although the API is familiar, the new challenges of size and power consumption make for a great change of scenery. In his fleeting spare time, Benj tries to get outdoors for some hiking or kayaking. He also operates an independent record label, Wachusett Records, specializing in solo piano music.
Nicholas Haemel , developer at AMD in the Graphics Products Group, was technical reviewer for OpenGL SuperBible, Third Edition , and contributed the chapters on GLX and OpenGL ES.
Excerpt. © Reprinted by permission. All rights reserved.