The Super Fun Kids' Graphic Novel Sale

Special Offers see all

Enter to WIN a $100 Credit

Subscribe to
for a chance to win.
Privacy Policy

Visit our stores

    Recently Viewed clear list

    Lists | Yesterday, 3:24pm

    Zachary Thomas Dodson: IMG 10 Books That Will Change Your Mind about Bats

    Bats are a much-maligned animal. Long thought of as creepy or evil or diseased, a closer look reveals that the wide variety of bat species also... Continue »
    1. $19.57 Sale Hardcover add to wish list

Qualifying orders ship free.
New Trade Paper
Ships in 1 to 3 days
Add to Wishlist
available for shipping or prepaid pickup only
Available for In-store Pickup
in 7 to 12 days
Qty Store Section
2 Remote Warehouse Graphics- Computer Animation

More copies of this ISBN

OpenGL(R) Es 2.0 Programming Guide (OpenGL)


OpenGL(R) Es 2.0 Programming Guide (OpenGL) Cover


Synopses & Reviews

Publisher Comments:

OpenGL ES 2.0 is the industry’s leading software interface and graphics library for rendering sophisticated 3D graphics on handheld and embedded devices. With OpenGL ES 2.0, the full programmability of shaders is now available on small and portable devices—including cell phones, PDAs, consoles, appliances, and vehicles. However, OpenGL ES differs significantly from OpenGL. Graphics programmers and mobile developers have had very little information about it—until now.

In the OpenGL® ES 2.0 Programming Guide, three leading authorities on the Open GL ES 2.0 interface—including the specification’s editor—provide start-to-finish guidance for maximizing the interface’s value in a wide range of high-performance applications. The authors cover the entire API, including Khronos-ratified extensions. Using detailed C-based code examples, they demonstrate how to set up and program every aspect of the graphics pipeline. You’ll move from introductory techniques all the way to advanced per-pixel lighting, particle systems, and performance optimization. 

Coverage includes:

  • Shaders in depth: creating shader objects, compiling shaders, checking for compile errors, attaching shader objects to program objects, and linking final program objects
  • The OpenGL ES Shading

About the Author

Aaftab Munshi is the spec editor for the OpenGL ES 1.1 and 2.0 specifications. Now at Apple, he was formerly senior architect in ATI’s handheld group.

Dan Ginsburg is senior member of technical staff at AMD. At AMD and ATI, he has worked in a variety of roles, including the development of OpenGL drivers, the creation of desktop and handheld 3D demos, and the development of handheld GPU developer tools.

Dave Shreiner is one of the world’s foremost authorities on OpenGL. He is a systems architect at ARM, Inc., and the lead author of the official OpenGL® Programming Guide, Sixth Edition (Addison-Wesley, 2007) and series editor for the Addison-Wesley OpenGL Series.

Table of Contents

List of Figures                  xiii

List of Examples                xv

List of Tables                    xix

Foreword                           xxi

Preface                            xxiii

Acknowledgments          xxix

About the Authors          xxxi

Chapter 1. Introduction to OpenGL ES 2.0                       1

What Is OpenGL ES?                     1

OpenGL ES 2.0                              3

Vertex Shader                                 4

Primitive Assembly                       6

Rasterization                                 7

Fragment Shader                             7

Per-Fragment Operations                9

OpenGL ES 2.0 and OpenGL ES 1.x Backward Compatibility           11

EGL                       12

Programming with OpenGL ES 2.0                    13

Further Reading                          18

Chapter 2. Hello Triangle: An OpenGL ES 2.0 Example                    19

Code Framework                      20

Where to Download the Examples                    20

Hello Triangle Example                       21

Building and Running the Examples                       25

Using the OpenGL ES 2.0 Framework                      26

Creating a Simple Vertex and Fragment Shader                    27

Compiling and Loading the Shaders                    29

Creating a Program Object and Linking the Shaders                 30

Setting the Viewport and Clearing the Color Buffer                   32

Loading the Geometry and Drawing a Primitive                   33

Displaying the Back Buffer                   33

Chapter 3. An Introduction to EGL                         35

Communicating with the Windowing System               36

Checking for Errors                   37

Initializing EGL                   37

Determining the Available Surface Configurations                 38

Querying EGLConfig Attributes                    39

Letting EGL Choose the Config                     39

Creating an On-Screen Rendering Area: The EGL Window                43

Creating an Off-Screen Rendering Area: EGL Pbuffers                  46

Creating a Rendering Context                     50

Making an EGLContext Current                        52

Putting All Our EGL Knowledge Together                       52

Synchronizing Rendering                       54

Chapter 4. Shaders and Programs                     57

Shaders and Programs                      57

Uniforms and Attributes                    67

Shader Compiler and Shader Binaries                     72

Chapter 5. OpenGL ES Shading Language                   77

OpenGL ES Shading Language Basics                     78

Variables and Variable Types                    78

Variable Constructors                   79

Vector and Matrix Components                  81

Constants                   82

Structures                     82

Arrays                    83

Operators                     84

Functions                        85

Built-In Functions                      86

Control Flow Statements                 87

Uniforms                    88

Attributes                89

Varyings                    90

Preprocessor and Directives                 92

Uniform and Varying Packing                 94

Precision Qualifiers                     96

Invariance                     97

Chapter 6. Vertex Attributes, Vertex Arrays, and Buffer Objects                101

Specifying Vertex Attribute Data                  102

Declaring Vertex Attribute Variables in a Vertex Shader               110

Vertex Buffer Objects                 115

Mapping Buffer Objects                   124

Chapter 7. Primitive Assembly and Rasterization                 127

Primitives                     127

Drawing Primitives                  131

Primitive Assembly                   136

Rasterization                 141

Chapter 8. Vertex Shaders                   147

Vertex Shader Overview                 148

Vertex Shader Examples                 159

Generating Texture Coordinates                167

Vertex Skinning             168

OpenGL ES 1.1 Vertex Pipeline as an ES 2.0 Vertex Shader            173

Chapter 9. Texturing                 181

Texturing Basics                181

Compressed Textures            201

Texture Subimage Specification               202

Copying Texture Data from the Color Buffer               204

Optional Extensions               207

Chapter 10. Fragment Shaders              215

Fixed Function Fragment Shaders              216

Fragment Shader Overview                218

Implementing Fixed Function Techniques Using Shaders            222

Chapter 11. Fragment Operations                233

Buffers                234

Fragment Tests and Operations                238

Blending                246

Dithering               249

Multisampled Antialiasing                249

Reading and Writing Pixels to the Framebuffer                  250

Chapter 12. Framebuffer Objects                   253

Why Framebuffer Objects                   253

Framebuffer and Renderbuffer Objects                 255

Creating Framebuffer and Renderbuffer Objects               258

Using Renderbuffer Objects                   259

Using Framebuffer Objects                     262

Deleting Framebuffer and Renderbuffer Objects               269

Examples                    271

Performance Tips and Tricks                 277

Chapter 13. Advanced Programming with OpenGL ES 2.0                279

Per-Fragment Lighting                279

Environment Mapping                  286

Particle System with Point Sprites               290

Image Postprocessing                  296

Projective Texturing                   300

Noise Using a 3D Texture              307

Procedural Texturing                 315

Chapter 14. State Queries                 323

OpenGL ES 2.0 Implementation String Queries              323

Querying Implementation-Dependent Limits                 324

Querying OpenGL ES State             327

Hints               330

Entity Name Queries             331

Nonprogrammable Operations Control and Queries               332

Shader and Program State Queries               333

Vertex Attribute Queries               335

Texture State Queries              336

Vertex Buffer Queries                337

Renderbuffer and Framebuffer State Queries              337

Chapter 15. OpenGL ES and EGL on Handheld Platforms              339

Handheld Platforms Overview              339

C++ Portability                341

OpenKODE                  343

Platform-Specific Shader Binaries                 350

Targeting Extensions                  351

Appendix A. GL_HALF_FLOAT_OES                    353

16-Bit Floating-Point Number                     354

Converting Float to Half-Float                   355

Appendix B. Built-In Functions                    357

Angle and Trigonometry Functions                358

Exponential Functions                     360

Common Functions                     361

Geometric Functions                      364

Matrix Functions                     366

Vector Relational Functions                 367

Texture Lookup Functions                 369

Derivative Functions                 371

Appendix C. Shading Language Grammar                 375

Appendix D. ES Framework API                     385

Framework Core Functions                   385

Transformation Functions                     390

Index                       395

Product Details

Munshi, Aaftab
Addison-Wesley Professional
Ginsburg, Dan
Shreiner, Dave
Computer graphics
Computer programming
Computer animation
Computer Graphics - General
Digital Media - Video & Animation
Graphics-Computer Animation
Edition Description:
Trade paper
Publication Date:
July 2008
Grade Level:
Professional and scholarly
9 x 7 x 0.975 in 746 gr

Other books you might like

  1. Programming in Objective-C 2.0... Used Trade Paper $18.95

Related Subjects

Computers and Internet » Computers Reference » General
Computers and Internet » Graphics » Digital Media » Video and Animation
Computers and Internet » Graphics » General
Computers and Internet » Graphics » Programming
Computers and Internet » Networking » General
History and Social Science » Economics » General
Science and Mathematics » Mathematics » Geometry » Geometry and Trigonometry
Science and Mathematics » Mathematics » Probability and Statistics » General
Science and Mathematics » Mathematics » Probability and Statistics » Statistics

OpenGL(R) Es 2.0 Programming Guide (OpenGL) New Trade Paper
0 stars - 0 reviews
$59.99 In Stock
Product details 480 pages Addison-Wesley Professional - English 9780321502797 Reviews:
  • back to top


Powell's City of Books is an independent bookstore in Portland, Oregon, that fills a whole city block with more than a million new, used, and out of print books. Shop those shelves — plus literally millions more books, DVDs, and gifts — here at