作者:DanGinsburg/BudirijantoPurnomo/DaveShreiner/AaftabMunshi
出版社:Addison-WesleyProfessional
出版年:2014-3-10
页数:560
定价:USD49.99
装帧:Paperback
ISBN:9780321933881
内容简介
······
Review
“As a graphics technologist and intense OpenGL ES developer, I can honestly say that if you buy only one book on OpenGL ES 3.0 programming, then this should be the book. Dan and Budirijanto have written a book clearly by programmers for programmers. It is simply required reading for anyone interested in OpenGL ES 3.0. It is informative, well organized, and comprehensive, but best of all practical. You will find yourself reaching for this book over and over again instead of the actual OpenGL ES specification during your programming sessions. I give it my highest recommendation.”
–Rick Tewell, Graphics Technology Architect, Freescale
“This book provides outstanding coverage of the latest version of OpenGL ES, with clear, comprehensive explanations and extensive examples. It belongs on the desk of anyone developing mobile applications.”
–Dave Astle, Graphics Tools Lead, Qualcomm Technologies, Inc., and Founder, GameDev.net
“The second edition of OpenGL® ES™ 3.0 Programming Guide provides a solid introduction to OpenGL ES 3.0 specifications, along with a wealth of practical information and examples to help any level of developer begin programming immediately. We’d recommend this guide as a primer on OpenGL ES 3.0 to any of the thousands of developers creating apps for the many mobile and embedded products using our PowerVR Rogue graphics.”
–Kristof Beets, Business Development, Imagination Technologies
“This is a solid OpenGL ES 3.0 reference book. It covers all aspects of the API and will help any developer get familiar with and understand the API, including specifically the new ES 3.0 functionality.”
–Jed Fisher, Managing Partner, 4D Pipeline
“This is a clear and thorough reference for OpenGL ES 3.0, and an excellent presentation of the concepts present in all modern OpenGL programming. This is the guide I’d want by my side when diving into embedded OpenGL.”
–Todd Furlong, President & Principal Engineer, Inv3rsion LLC
作者简介
······
Dan Ginsburg is founder of Upsample Software, LLC, a software consultancy specializing in 3D graphics and GPU computing. In previous roles he has worked on developing OpenGL drivers, desktop and handheld 3D demos, GPU developer tools, 3D medical visualization and games. He coauthored the OpenCL Programming Guide (Addison-Wesley, 2012).
Budi Purnomo is a senior software architect at Advanced Micro Devices, Inc. where he collaborates with many AMD architects to develop software infrastructure across multiple software stacks and to define future hardware architectures for debugging and profiling GPU applications.
Dave Shreiner is one of the World’s foremost authorities on OpenGL. He is the series editor for the Addison-Wesley OpenGL Series.
Aatab Munshi is the spec editor for the OpenGL ES 1.1 and 2.0 specifications.
目录
······
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
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
评论 ······
再次收获
更多的是流程介绍,差点淹没在概念里面。从个人角度来说比较适合入门了解。
gl es入门经典
重api,重example code;轻概念,甚至是confusing。。。。不适合初学者,只适合当手册查
评论前必须登录!
注册