Home Page Icon
Home Page
Table of Contents for
Cover Page
Close
Cover Page
by Aaftab Munshi, Dave Shreiner, Budirijanto Purnomo, Dan Ginsburg
OpenGL ES 3.0 Programming Guide, Second Edition
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
Intended Audience
Organization of This Book
Example Code and Shaders
Errata
Acknowledgments
About the Authors
Chapter 1. Introduction to OpenGL ES 3.0
OpenGL ES 3.0
What’s New in OpenGL ES 3.0
OpenGL ES 3.0 and Backward Compatibility
EGL
EGL Command Syntax
OpenGL ES Command Syntax
Error Handling
Basic State Management
Further Reading
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
Shaders and Programs
Uniforms and Attributes
Shader Compiler
Program Binaries
Summary
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
Specifying Vertex Attribute Data
Declaring Vertex Attribute Variables in a Vertex Shader
Vertex Buffer Objects
Vertex Array Objects
Mapping Buffer Objects
Copying Buffer Objects
Summary
Chapter 7. Primitive Assembly and Rasterization
Primitives
Drawing Primitives
Primitive Assembly
Rasterization
Occlusion Queries
Summary
Chapter 8. Vertex Shaders
Vertex Shader Overview
Vertex Shader Examples
Generating Texture Coordinates
Vertex Skinning
Transform Feedback
Vertex Textures
OpenGL ES 1.1 Vertex Pipeline as an ES 3.0 Vertex Shader
Summary
Chapter 9. Texturing
Texturing Basics
Compressed Textures
Texture Subimage Specification
Copying Texture Data from the Color Buffer
Sampler Objects
Immutable Textures
Pixel Unpack Buffer Objects
Summary
Chapter 10. Fragment Shaders
Fixed-Function Fragment Shaders
Fragment Shader Overview
Implementing Fixed-Function Techniques Using Shaders
Summary
Chapter 11. Fragment Operations
Buffers
Fragment Tests and Operations
Blending
Dithering
Multisampled Anti-Aliasing
Reading and Writing Pixels to the Framebuffer
Multiple Render Targets
Summary
Chapter 12. Framebuffer Objects
Why Framebuffer Objects?
Framebuffer and Renderbuffer Objects
Creating Framebuffer and Renderbuffer Objects
Using Renderbuffer Objects
Using Framebuffer Objects
Framebuffer Blits
Framebuffer Invalidation
Deleting Framebuffer and Renderbuffer Objects
Examples
Performance Tips and Tricks
Summary
Chapter 13. Sync Objects and Fences
Flush and Finish
Why Use a Sync Object?
Creating and Deleting a Sync Object
Waiting for and Signaling a Sync Object
Example
Summary
Chapter 14. Advanced Programming with OpenGL ES 3.0
Per-Fragment Lighting
Environment Mapping
Particle System Using Transform Feedback
Image Postprocessing
Projective Texturing
Noise Using a 3D Texture
Procedural Texturing
Rendering Terrain with Vertex Texture Fetch
Shadows Using a Depth Texture
Summary
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
Building for Microsoft Windows with Visual Studio
Building for Ubuntu Linux
Building for Android 4.3+ NDK (C++)
Building for Android 4.3+ SDK (Java)
Building for iOS 7
Summary
Appendix A. GL_HALF_FLOAT
16-Bit Floating-Point Number
Converting a Float to a Half-Float
Appendix B. Built-In Functions
Angle and Trigonometry Functions
Exponential Functions
Common Functions
Floating-Point Pack and Unpack Functions
Geometric Functions
Matrix Functions
Vector Relational Functions
Texture Lookup Functions
Fragment Processing Functions
Appendix C. ES Framework API
Framework Core Functions
Transformation Functions
Index
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Next
Next Chapter
About This eBook
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset