Nicht aus der Schweiz? Besuchen Sie lehmanns.de
Für diesen Artikel ist leider kein Bild verfügbar.

OpenGL Superbible

Comprehensive Tutorial and Reference
7th edition
Addison Wesley (Hersteller)
978-0-13-419313-7 (ISBN)
CHF 52,35 inkl. MwSt
  • Keine Verlagsinformationen verfügbar
  • Artikel merken
OpenGL (R) SuperBible, Seventh Edition, is the definitive programmer's guide, tutorial, and reference for OpenGL 4.5, the world's leading 3D API for real-time computer graphics. The best introduction for any developer, it clearly explains OpenGL's newest APIs; key extensions; shaders; and essential, related concepts. You'll find up-to-date, hands-on guidance for all facets of modern OpenGL development-both desktop and mobile.



The authors explain what OpenGL does, how it connects to the graphics pipeline, and how it manages huge datasets to deliver compelling experiences. Step by step, they present increasingly sophisticated techniques, illuminating key concepts with worked examples. They introduce OpenGL on several popular platforms, and offer up-to-date best practices and performance advice.



This revised and updated edition introduces many new OpenGL 4.5 features, including important ARB and KHR extensions that are now part of the standard. It thoroughly covers the latest Approaching Zero Driver Overhead (AZDO) performance features, and demonstrates key enhancements with new example applications.



Coverage includes



A practical introduction to real-time 3D graphics, including foundational math
Core techniques for rendering, transformations, and texturing
Shaders and the OpenGL Shading Language (GLSL) in depth
Vertex processing, drawing commands, primitives, fragments, and framebuffers
Compute shaders: harnessing graphics cards for more than graphics
Pipeline monitoring and control
Managing, loading, and arbitrating access to data
Building larger applications and deploying them across platforms
Advanced rendering: light simulation, artistic and non-photorealistic effects, and more
Reducing CPU overhead and analyzing GPU behavior
Supercharging performance with persistent maps, bindless textures, and fine-grained synchronization
Preventing and debugging errors
New applications: texture compression, text drawing, font rendering with distance fields, high-quality texture filtering, and OpenMP

Bonus material and sample code are available at openglsuperbible.com.

Graham Sellers, AMD Software Architect and Engineering Fellow, represents AMD at the OpenGL ARB. He has contributed to the core OpenGL specification and extensions, and holds several graphics and image processing patents. Richard S. Wright, Jr., Senior Software Engineer for Software Bisque, developed multimedia astronomy and planetarium software using OpenGL. For more than a decade he taught OpenGL programming in Full Sail University's game development degree program. Nicholas Haemel, Director of Camera Software at NVIDIA, has represented NVIDIA at the Khronos Group standards body and authored many OpenGL extensions.

Figures xv

Tables xxi

Listings xxiii

Foreword xxxi

Preface xxxiii

Acknowledgments xxxix

About the Author xli



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 17

Drawing Our First Triangle 24

Summary 26



Chapter 3: Following the Pipeline 27

Passing Data to the Vertex Shader 28

Passing Data from Stage to Stage 30

Tessellation 33

Geometry Shaders 37

Primitive Assembly, Clipping, and Rasterization 39

Fragment Shaders 43

Framebuffer Operations 47

Compute Shaders 48

Using Extensions in OpenGL 49

Summary 54



Chapter 4: Math for 3D Graphics 55

Is This the Dreaded Math Chapter 56

A Crash Course in 3D Graphics Math 57

Understanding Transformations 69

Interpolation, Lines, Curves, and Splines 89

Summary 97



Chapter 5: Data 99

Buffers 100

Uniforms 117

Shader Storage Blocks 140

Atomic Counters 147

Textures 152

Summary 203



Chapter 6: Shaders and Programs 205

Language Overview 206

Compiling, Linking, and Examining Programs 219

Summary 238



Part II: In Depth 239



Chapter 7: Vertex Processing and Drawing Commands 241

Vertex Processing 242

Drawing Commands 249

Storing Transformed Vertices 278

Clipping 296

Summary 303



Chapter 8: Primitive Processing 305

Tessellation 306

Geometry Shaders 333

Summary 364



Chapter 9: Fragment Processing and the Framebuffer 365

Fragment Shaders 366

Per-Fragment Tests 369

Color Output 382

Off-Screen Rendering 390

Antialiasing 412

Advanced Framebuffer Formats 428

Point Sprites 448

Getting at Your Image 458

Summary 466



Chapter 10: Compute Shaders 467

Using Compute Shaders 468

Examples 479

Summary 502



Chapter 11: Advanced Data Management 503

Eliminating Binding 504

Sparsely Populated Textures 509

Texture Compression 516

Packed Data Formats 525

High-Quality Texture Filtering 527

Summary 531



Chapter 12: Controlling and Monitoring the Pipeline 533

Queries 534

Synchronization in OpenGL 556

Summary 562



Part III: In Practice 565



Chapter 13: Rendering Techniques 567

Lighting Models 568

Non-Photo-Realistic Rendering 610

Alternative Rendering Methods 613

Two-Dimensional Graphics 647

Summary 659



Chapter 14: High-Performance OpenGL 661

Optimizing CPU Performance 661

Low-Overhead OpenGL 677

Performance Analysis Tools 699

Summary 726



Chapter 15: Debugging and Stability 729

Debugging Your Applications 730

Security and Robustness 737

Summary 742





Appendix A: Further Reading 743



Appendix B: The SBM File Format 749



Appendix C: The SuperBible Tools 759



Glossary 797

Index 805

Reihe/Serie OpenGL
Verlagsort Boston
Sprache englisch
Gewicht 1 g
Themenwelt Informatik Grafik / Design Digitale Bildverarbeitung
Mathematik / Informatik Informatik Software Entwicklung
ISBN-10 0-13-419313-X / 013419313X
ISBN-13 978-0-13-419313-7 / 9780134193137
Zustand Neuware
Informationen gemäß Produktsicherheitsverordnung (GPSR)
Haben Sie eine Frage zum Produkt?