OpenGL Superbible
Addison Wesley (Hersteller)
978-0-13-419313-7 (ISBN)
- Keine Verlagsinformationen verfügbar
- Artikel merken
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? |