You are previewing OpenGL® SuperBible: Comprehensive Tutorial and Reference, Sixth Edition.
O'Reilly logo
OpenGL® SuperBible: Comprehensive Tutorial and Reference, Sixth Edition

Book Description

OpenGL® SuperBible, Sixth Edition, is the definitive programmer’s guide, tutorial, and reference for the world’s leading 3D API for real-time computer graphics, OpenGL 4.3. The best all-around introduction to OpenGL for developers at all levels of experience, it clearly explains both the newest API and indispensable related concepts. You’ll find up-to-date, hands-on guidance for all facets of modern OpenGL development on both desktop and mobile platforms, including transformations, texture mapping, shaders, buffers, geometry management, and much more.

Extensively revised, this edition presents many new OpenGL 4.3 features, including compute shaders, texture views, indirect draws, and enhanced API debugging. It has been reorganized to focus more tightly on the API, to cover the entire pipeline earlier, and to help you thoroughly understand the interactions between OpenGL and graphics hardware.

Coverage includes

  • A practical introduction to the essentials of realtime 3D graphics

  • Core OpenGL 4.3 techniques for rendering, transformations, and texturing

  • Foundational math for creating interesting 3D graphics with OpenGL

  • Writing your own shaders, with examples to get you started

  • Cross-platform OpenGL, including essential platform-specific API initialization material for Linux, OS X, and Windows

  • Vertex processing, drawing commands, primitive processing, fragments, and framebuffers

  • Using compute shaders to harness today’s graphics cards for more than graphics

  • Monitoring and controlling the OpenGL graphics pipeline

  • Advanced rendering: light simulation, artistic and non-photo-realistic rendering, and deferred shading

  • Modern OpenGL debugging and performance optimization

  • Bonus material and sample code are available from the companion Web site, openglsuperbible.com.

    Table of Contents

    1. About This eBook
    2. Title Page
    3. Copyright Page
    4. Dedication Page
    5. Contents
    6. Figures
    7. Tables
    8. Listings
    9. Foreword
    10. Preface
      1. About This Book
      2. The Architecture of the Book
      3. What’s New in This Edition
      4. How to Build the Samples
      5. Errata
    11. Acknowledgments
    12. About the Authors
    13. Part I: Foundations
      1. Chapter 1. Introduction
        1. OpenGL and the Graphics Pipeline
        2. The Origins and Evolution of OpenGL
        3. Primitives, Pipelines, and Pixels
        4. Summary
      2. Chapter 2. Our First OpenGL Program
        1. Creating a Simple Application
        2. Using Shaders
        3. Drawing Our First Triangle
        4. Summary
      3. Chapter 3. Following the Pipeline
        1. Passing Data to the Vertex Shader
        2. Passing Data from Stage to Stage
        3. Tessellation
        4. Geometry Shaders
        5. Primitive Assembly, Clipping, and Rasterization
        6. Fragment Shaders
        7. Framebuffer Operations
        8. Compute Shaders
        9. Summary
      4. Chapter 4. Math for 3D Graphics
        1. Is This the Dreaded Math Chapter?
        2. A Crash Course in 3D Graphics Math
        3. Understanding Transformations
        4. Interpolation, Lines, Curves, and Splines
        5. Summary
      5. Chapter 5. Data
        1. Buffers
        2. Uniforms
        3. Shader Storage Blocks
        4. Atomic Counters
        5. Textures
        6. Summary
      6. Chapter 6. Shaders and Programs
        1. Language Overview
        2. Compiling, Linking, and Examining Programs
        3. Summary
    14. Part II: In Depth
      1. Chapter 7. Vertex Processing and Drawing Commands
        1. Vertex Processing
        2. Drawing Commands
        3. Storing Transformed Vertices
        4. Clipping
        5. Summary
      2. Chapter 8. Primitive Processing
        1. Tessellation
        2. Geometry Shaders
        3. Summary
      3. Chapter 9. Fragment Processing and the Framebuffer
        1. Fragment Shaders
        2. Per-Fragment Tests
        3. Color Output
        4. Off-Screen Rendering
        5. Antialiasing
        6. Advanced Framebuffer Formats
        7. Point Sprites
        8. Getting at Your Image
        9. Summary
      4. Chapter 10. Compute Shaders
        1. Using Compute Shaders
        2. Examples
        3. Summary
      5. Chapter 11. Controlling and Monitoring the Pipeline
        1. Queries
        2. Synchronization in OpenGL
        3. Summary
    15. Part III: In Practice
      1. Chapter 12. Rendering Techniques
        1. Lighting Models
        2. Non-Photo-Realistic Rendering
        3. Alternative Rendering Methods
        4. Summary
      2. Chapter 13. Debugging and Performance Optimization
        1. Debugging Your Applications
        2. Performance Optimization
        3. Summary
      3. Chapter 14. Platform Specifics
        1. Using Extensions in OpenGL
        2. OpenGL on Windows
        3. OpenGL on Mac OS X
        4. OpenGL on Linux
        5. OpenGL on Mobile Platforms
        6. Summary
    16. Appendix A. Further Reading
      1. Other Good OpenGL Books
      2. 3D Graphics Books
      3. Web Sites
    17. Appendix B. The SBM File Format
      1. File Header
      2. Chunk Headers
      3. Defined Chunks
      4. Example
    18. Appendix C. The SuperBible Tools
      1. The ktxtool Utility
      2. The dds2ktx Utility
      3. The sb6mtool Utility
    19. Glossary
    20. Index