![]() 作者:Dan Ginsburg/Budirijanto Purnomo/Dave Shreiner/Aaftab Munshi 出版社: Addison-Wesley Professional 出版年: 2014-3-10 页数: 560 定价: USD 49.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,... 作者简介 · · · · · ·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 archite... 目录 · · · · · ·Table of ContentsAbout This eBook Title Page Copyright Page Praise for OpenGL® ES™ 3.0 Programming Guide, Second Edition · · · · · ·() 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 · · · · · · () |
可能我道行比较浅,一时半会还真的无法消化
从演化的角度入手
描述领域之多
品质不错值得拜看