Warehouse Stock Clearance Sale

Grab a bargain today!


OpenGL SuperBible
By

Rating

Product Description
Product Details

Table of Contents

Figures xv

Tables xxiii

Listings xxv

Foreword xxxiii

Preface xxxv

Acknowledgments xli

About the Authors xlv

 

Part I: Foundations 1

 

Chapter 1: Introduction 3

OpenGL and the Graphics Pipeline 4

The Origins and Evolution of OpenGL 6

Primitives, Pipelines, and Pixels 10

Summary 11

 

Chapter 2: Our First OpenGL Program 13

Creating a Simple Application 14

Using Shaders 16

Drawing Our First Triangle 24

Summary 25

 

Chapter 3: Following the Pipeline 27

Passing Data to the Vertex Shader 28

Passing Data from Stage to Stage 29

Tessellation 32

Geometry Shaders 36

Primitive Assembly, Clipping, and Rasterization 38

Fragment Shaders 42

Framebuffer Operations 45

Compute Shaders 47

Summary 48

 

Chapter 4: Math for 3D Graphics 49

Is This the Dreaded Math Chapter? 50

A Crash Course in 3D Graphics Math 51

Understanding Transformations 63

Interpolation, Lines, Curves, and Splines 82

Summary 90

 

Chapter 5: Data 91

Buffers 92

Uniforms 103

Shader Storage Blocks 126

Atomic Counters 133

Textures 137

Summary 185

 

Chapter 6: Shaders and Programs 187

Language Overview 188

Compiling, Linking, and Examining Programs 201

Summary 219

 

Part II: In Depth 221

 

Chapter 7: Vertex Processing and Drawing Commands 223

Vertex Processing 224

Drawing Commands 231

Storing Transformed Vertices 259

Clipping 276

Summary 282

 

Chapter 8: Primitive Processing 283

Tessellation 284

Geometry Shaders 310

Summary 340

 

Chapter 9: Fragment Processing and the Framebuffer 341

Fragment Shaders 342

Per-Fragment Tests 345

Color Output 357

Off-Screen Rendering 364

Antialiasing 384

Advanced Framebuffer Formats 399

Point Sprites 419

Getting at Your Image 428

Summary 435

 

Chapter 10: Compute Shaders 437

Using Compute Shaders 438

Examples 449

Summary 471

 

Chapter 11: Controlling and Monitoring the Pipeline 473

Queries 474

Synchronization in OpenGL 493

Summary 498

 

Part III: In Practice 501

 

Chapter 12: Rendering Techniques 503

Lighting Models 504

Non-Photo-Realistic Rendering 544

Alternative Rendering Methods 548

Summary 580

 

Chapter 13: Debugging and Performance Optimization 581

Debugging Your Applications 582

Performance Optimization 589

Summary 616

 

Chapter 14: Platform Specifics 617

Using Extensions in OpenGL 618

OpenGL on Windows 623

OpenGL on Mac OS X 647

OpenGL on Linux 682

OpenGL on Mobile Platforms 705

Summary 744

 

Appendix A: Further Reading 747

 

Appendix B: The SBM File Format 751

 

Appendix C: The SuperBible Tools 759

 

Glossary 765

Index 773

About the Author

Graham Sellers is a senior manager and software architect on the OpenGL driver team at AMD. He represents AMD at the ARB and has contributed to many extensions and to the core OpenGL Specification. He holds several patents in the fields of computer graphics and image processing.

 

Richard S. Wright, Jr., senior software engineer for Software Bisque, develops multimedia astronomy and planetarium software using OpenGL. He has written many OpenGL-based games, scientific/medical applications, database visualization tools, and educational programs. He has taught OpenGL programming at Full Sail University’s game design degree program for over a decade.

 

Nicholas Haemel, senior manager of Tegra OpenGL driver development at NVIDIA, leads a development team working on NVIDIA mobile graphics drivers, represents NVIDIA at the Khronos Group standards body, has authored many OpenGL extensions, and contributed to all OpenGL specifications since version 3.0.

Ask a Question About this Product More...
 
Look for similar items by category
This title is unavailable for purchase as none of our regular suppliers have stock available. If you are the publisher, author or distributor for this item, please visit this link.

Back to top
We use essential and some optional cookies to provide you the best shopping experience. Visit our cookies policy page for more information.