HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Register your product to gain access to bonus material or receive a coupon.
Includes Complete Coverage of the OpenGL® Shading Language!
Today’s OpenGL software interface enables programmers to produce extraordinarily high-quality computer-generated images and interactive applications using 2D and 3D objects, color images, and programmable shaders.
OpenGL® Programming Guide: The Official Guide to Learning OpenGL®, Version 4.3, Eighth Edition, has been almost completely rewritten and provides definitive, comprehensive information on OpenGL and the OpenGL Shading Language. This edition of the best-selling “Red Book” describes the features through OpenGL version 4.3. It also includes updated information and techniques formerly covered in OpenGL® Shading Language (the “Orange Book”).
For the first time, this guide completely integrates shader techniques, alongside classic, functioncentric techniques. Extensive new text and code are presented, demonstrating the latest in OpenGL programming techniques.
OpenGL® Programming Guide, Eighth Edition, provides clear explanations of OpenGL functionality and techniques, including processing geometric objects with vertex, tessellation, and geometry shaders using geometric transformations and viewing matrices; working with pixels and texture maps through fragment shaders; and advanced data techniques using framebuffer objects and compute shaders.
New OpenGL features covered in this edition include
Download the sample pages (includes Chapter 3 and Index)
Figures xxiii
Tables xxix
Examples xxxiii
About This Guide xli
Chapter 1: Introduction to OpenGL 1
What Is OpenGL? 2
Your First Look at an OpenGL Program 3
OpenGL Syntax 8
OpenGL’s Rendering Pipeline 10
Our First Program: A Detailed Discussion 14
Chapter 2: Shader Fundamentals 33
Shaders and OpenGL 34
OpenGL’s Programmable Pipeline 35
An Overview of the OpenGL Shading Language 37
Interface Blocks 60
Compiling Shaders 70
Shader Subroutines 76
Separate Shader Objects 81
Chapter 3: Drawing with OpenGL 85
OpenGL Graphics Primitives 86
Data in OpenGL Buffers 92
Vertex Specification 108
OpenGL Drawing Commands 115
Instanced Rendering 128
Chapter 4: Color, Pixels, and Framebuffers 141
Basic Color Theory 142
Buffers and Their Uses 144
Color and OpenGL 148
Multisampling 153
Testing and Operating on Fragments 156
Per-Primitive Antialiasing 178
Framebuffer Objects 180
Writing to Multiple Renderbuffers Simultaneously 193
Reading and Copying Pixel Data 200
Copying Pixel Rectangles 203
Chapter 5: Viewing Transformations, Clipping, and Feedback 205
Viewing 206
User Transformations 212
OpenGL Transformations 236
Transform Feedback 239
Chapter 6: Textures 259
Texture Mapping 261
Basic Texture Types 262
Creating and Initializing Textures 263
Proxy Textures 276
Specifying Texture Data 277
Sampler Objects 292
Using Textures 295
Complex Texture Types 306
Texture Views 321
Compressed Textures 326
Filtering 329
Advanced Texture Lookup Functions 340
Point Sprites 346
Rendering to Texture Maps 351
Chapter Summary 356
Chapter 7: Light and Shadow 359
Lighting Introduction 360
Classic Lighting Model 361
Advanced Lighting Models 384
Shadow Mapping 400
Chapter 8: Procedural Texturing 411
Procedural Texturing 412
Bump Mapping 433
Antialiasing Procedural Textures 442
Noise 460