Der Artikel wird am Ende des Bestellprozesses zum Download zur Verfügung gestellt.

OpenGL ES 2.0 Programming Guide

 Electronic book text
Sofort lieferbar | Lieferzeit: Sofort lieferbar I
ISBN-13:
9780132701792
Veröffentl:
2008
Einband:
Electronic book text
Seiten:
464
Autor:
Aaftab Munshi
eBook Typ:
EPUB
eBook Format:
EPUB
Kopierschutz:
6 - ePub Watermark
Sprache:
Englisch
Beschreibung:

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:
List of Figures xiiiList of Examples xvList of Tables xixForeword xxiPreface xxiiiAcknowledgments xxixAbout 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

Kunden Rezensionen

Zu diesem Artikel ist noch keine Rezension vorhanden.
Helfen sie anderen Besuchern und verfassen Sie selbst eine Rezension.

Google Plus
Powered by Inooga