Book description
OpenGL® ES™ is the industry's leading software interface and graphics library for rendering sophisticated 3D graphics on handheld and embedded devices. The newest version, OpenGL ES 3.0, makes it possible to create stunning visuals for new games and apps, without compromising device performance or battery life.
In the OpenGL® ES™ 3.0 Programming Guide, Second Edition, the authors cover the entire API and Shading Language. They carefully introduce OpenGL ES 3.0 features such as shadow mapping, instancing, multiple render targets, uniform buffer objects, texture compression, program binaries, and transform feedback.
Through detailed, downloadable C-based code examples, you'll learn how to set up and program every aspect of the graphics pipeline. Step by step, you'll move from introductory techniques all the way to advanced per-pixel lighting and particle systems. Throughout, you'll find cutting-edge tips for optimizing performance, maximizing efficiency with both the API and hardware, and fully leveraging OpenGL ES 3.0 in a wide spectrum of applications.
All code has been built and tested on iOS 7, Android 4.3, Windows (OpenGL ES 3.0 Emulation), and Ubuntu Linux, and the authors demonstrate how to build OpenGL ES code for each platform.
Coverage includes
EGL API: communicating with the native windowing system, choosing configurations, and creating rendering contexts and surfaces
Shaders: creating and attaching shader objects; compiling shaders; checking for compile errors; creating, linking, and querying program objects; and using source shaders and program binaries
OpenGL ES Shading Language: variables, types, constructors, structures, arrays, attributes, uniform blocks, I/O variables, precision qualifiers, and invariance
Geometry, vertices, and primitives: inputting geometry into the pipeline, and assembling it into primitives
2D/3D, Cubemap, Array texturing: creation, loading, and rendering; texture wrap modes, filtering, and formats; compressed textures, sampler objects, immutable textures, pixel unpack buffer objects, and mipmapping
Fragment shaders: multitexturing, fog, alpha test, and user clip planes
Fragment operations: scissor, stencil, and depth tests; multisampling, blending, and dithering
Framebuffer objects: rendering to offscreen surfaces for advanced effects
Advanced rendering: per-pixel lighting, environment mapping, particle systems, image post-processing, procedural textures, shadow mapping, terrain, and projective texturing
Sync objects and fences: synchronizing within host application and GPU execution
This edition of the book includes a color insert of the OpenGL ES 3.0 API and OpenGL ES Shading Language 3.0 Reference Cards created by Khronos. The reference cards contain a complete list of all of the functions in OpenGL ES 3.0 along with all of the types, operators, qualifiers, built-ins, and functions in the OpenGL ES Shading Language.
Table of contents
- About This eBook
- Title Page
- Copyright Page
- Praise for OpenGL® ES™ 3.0 Programming Guide, Second Edition
- Contents
- List of Figures
- List of Examples
- List of Tables
- Foreword
- Preface
- Acknowledgments
- About the Authors
- Chapter 1. Introduction to OpenGL ES 3.0
-
Chapter 2. Hello Triangle: An OpenGL ES 3.0 Example
- Code Framework
- Where to Download the Examples
- Hello Triangle Example
- Using the OpenGL ES 3.0 Framework
- Creating a Simple Vertex and Fragment Shader
- Compiling and Loading the Shaders
- Creating a Program Object and Linking the Shaders
- Setting the Viewport and Clearing the Color Buffer
- Loading the Geometry and Drawing a Primitive
- Displaying the Back Buffer
- Summary
-
Chapter 3. An Introduction to EGL
- Communicating with the Windowing System
- Checking for Errors
- Initializing EGL
- Determining the Available Surface Configurations
- Querying EGLConfig Attributes
- Letting EGL Choose the Configuration
- Creating an On-Screen Rendering Area: The EGL Window
- Creating an Off-Screen Rendering Area: EGL Pbuffers
- Creating a Rendering Context
- Making an EGLContext Current
- Putting All Our EGL Knowledge Together
- Synchronizing Rendering
- Summary
- Chapter 4. Shaders and Programs
-
Chapter 5. OpenGL ES Shading Language
- OpenGL ES Shading Language Basics
- Shader Version Specification
- Variables and Variable Types
- Variable Constructors
- Vector and Matrix Components
- Constants
- Structures
- Arrays
- Operators
- Functions
- Built-In Functions
- Control Flow Statements
- Uniforms
- Uniform Blocks
- Vertex and Fragment Shader Inputs/Outputs
- Interpolation Qualifiers
- Preprocessor and Directives
- Uniform and Interpolator Packing
- Precision Qualifiers
- Invariance
- Summary
- Chapter 6. Vertex Attributes, Vertex Arrays, and Buffer Objects
- Chapter 7. Primitive Assembly and Rasterization
- Chapter 8. Vertex Shaders
- Chapter 9. Texturing
- Chapter 10. Fragment Shaders
- Chapter 11. Fragment Operations
- Chapter 12. Framebuffer Objects
- Chapter 13. Sync Objects and Fences
- Chapter 14. Advanced Programming with OpenGL ES 3.0
-
Chapter 15. State Queries
- OpenGL ES 3.0 Implementation String Queries
- Querying Implementation-Dependent Limits
- Querying OpenGL ES State
- Hints
- Entity Name Queries
- Nonprogrammable Operations Control and Queries
- Shader and Program State Queries
- Vertex Attribute Queries
- Texture State Queries
- Sampler Queries
- Asynchronous Object Queries
- Sync Object Queries
- Vertex Buffer Queries
- Renderbuffer and Framebuffer State Queries
- Summary
- Chapter 16. OpenGL ES Platforms
- Appendix A. GL_HALF_FLOAT
- Appendix B. Built-In Functions
- Appendix C. ES Framework API
- Index
Product information
- Title: OpenGL ES 3.0 Programming Guide, Second Edition
- Author(s):
- Release date: March 2014
- Publisher(s): Addison-Wesley Professional
- ISBN: 9780133440133
You might also like
book
OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.3, Eighth Edition
Includes Complete Coverage of the OpenGL® Shading Language! Today’s OpenGL software interface enables programmers to produce …
book
OpenGL SuperBible: Comprehensive Tutorial and Reference, Fourth Edition
OpenGL , begins by illuminating the core techniques of “classic” OpenGL graphics programming, from drawing in …
book
OpenGL SuperBible: Comprehensive Tutorial and Reference, Seventh Edition
is the definitive programmer’s guide, tutorial, and reference for OpenGL 4.5, the world’s leading 3D API …
book
WebGL Programming Guide: Interactive 3D Graphics Programming with WebGL
Using WebGL®, you can create sophisticated interactive 3D graphics inside web browsers, without plug-ins. WebGL makes …