OpenGL ES 3.0 Programming Guide, 2/e (Paperback)

Dan Ginsburg, Budirijanto Purnomo, Dave Shreiner, Aaftab Munshi

買這商品的人也買了...

商品描述

OpenGL®  ES is the industry’s leading software interface and graphics library for rendering sophisticated 3D graphics on handheld and embedded devices. The newest version, OpenGL ES 3.0, makes it possible to create stunning visuals for new games and apps, without compromising device performance or battery life.

 

In the OpenGL ® ES 3.0 Programming Guide, Second Edition, the authors cover the entire API and Shading Language. They carefully introduce OpenGL ES 3.0 features such as shadow mapping, instancing, multiple render targets, uniform buffer objects, texture compression, program binaries, and transform feedback.

 

Through detailed, downloadable C-based code examples, you’ll learn how to set up and program every aspect of the graphics pipeline. Step by step, you’ll move from introductory techniques all the way to advanced per-pixel lighting and particle systems. Throughout, you’ll find cutting-edge tips for optimizing performance, maximizing efficiency with both the API and hardware, and fully leveraging OpenGL ES 3.0 in a wide spectrum of applications.

 

All code has been built and tested on iOS 7, Android 4.3, Windows (OpenGL ES 3.0 Emulation), and Ubuntu Linux, and the authors demonstrate how to build OpenGL ES code for each platform.

 

Coverage includes

  • EGL API: communicating with the native windowing system, choosing configurations, and creating rendering contexts and surfaces
  • Shaders: creating and attaching shader objects; compiling shaders; checking for compile errors; creating, linking, and querying program objects; and using source shaders and program binaries
  • OpenGL ES Shading Language: variables, types, constructors, structures, arrays, attributes, uniform blocks, I/O variables, precision qualifiers, and invariance
  • Geometry, vertices, and primitives: inputting geometry into the pipeline, and assembling it into primitives
  • 2D/3D, Cubemap, Array texturing: creation, loading, and rendering; texture wrap modes, filtering, and formats; compressed textures, sampler objects, immutable textures, pixel unpack buffer objects, and mipmapping
  • Fragment shaders: multitexturing, fog, alpha test, and user clip planes
  • Fragment operations: scissor, stencil, and depth tests; multisampling, blending, and dithering
  • Framebuffer objects: rendering to offscreen surfaces for advanced effects
  • Advanced rendering: per-pixel lighting, environment mapping, particle systems, image post-processing, procedural textures, shadow mapping, terrain, and projective texturing
  • Sync objects and fences: synchronizing within host application and GPU execution

 

This edition of the book includes a color insert of the OpenGL ES 3.0 API and OpenGL ES Shading Language 3.0 Reference Cards created by Khronos. The reference cards contain a complete list of all of the functions in OpenGL ES 3.0 along with all of the types, operators, qualifiers, built-ins, and functions in the OpenGL ES Shading Language.

 

商品描述(中文翻譯)

OpenGL® ES™ 是行業領先的軟體介面和圖形庫,用於在手持和嵌入式設備上渲染複雜的3D圖形。最新版本OpenGL ES 3.0使得在新的遊戲和應用程式中創建令人驚嘆的視覺效果成為可能,同時不會影響設備的性能或電池壽命。

在《OpenGL ES 3.0 編程指南,第二版》中,作者們詳細介紹了整個API和Shading Language。他們仔細介紹了OpenGL ES 3.0的功能,如陰影映射、實例化、多個渲染目標、統一緩衝對象、紋理壓縮、程序二進制和變換反饋。

通過詳細的可下載的基於C的代碼示例,您將學習如何設置和編程圖形管道的每個方面。從入門技術到高級像素照明和粒子系統,您將逐步學習。在整個過程中,您將找到優化性能、最大限度地提高API和硬件的效率以及在各種應用中充分利用OpenGL ES 3.0的尖端技巧。

所有代碼都在iOS 7、Android 4.3、Windows(OpenGL ES 3.0仿真)和Ubuntu Linux上構建和測試,作者演示了如何為每個平台構建OpenGL ES代碼。

本書涵蓋內容包括:

- EGL API:與本地窗口系統通信、選擇配置、創建渲染上下文和表面
- 着色器:創建和附加着色器對象;編譯着色器;檢查編譯錯誤;創建、鏈接和查詢程序對象;使用源着色器和程序二進制
- OpenGL ES Shading Language:變量、類型、構造函數、結構、數組、屬性、統一塊、I/O變量、精度限定符和不變性
- 幾何、頂點和基元:將幾何輸入到管道中,並將其組裝成基元
- 2D/3D、Cubemap、Array紋理:創建、加載和渲染;紋理包裹模式、過濾和格式;壓縮紋理、取樣器對象、不可變紋理、像素解包緩衝對象和mipmapping
- 片段着色器:多重紋理、霧、alpha測試和用戶剪裁平面
- 片段操作:剪裁、模板和深度測試;多重採樣、混合和抖動
- 帧緩衝對象:用於高級效果的離屏渲染
- 高級渲染:像素照明、環境映射、粒子系統、圖像後處理、程序紋理、陰影映射、地形和投影紋理
- 同步對象和障礙:在主應用程序和GPU執行之間進行同步

本書的這一版本包含了由Khronos創建的OpenGL ES 3.0 API和OpenGL ES Shading Language 3.0參考卡的彩色插圖。參考卡包含了OpenGL ES 3.0中所有函數的完整列表,以及OpenGL ES Shading Language中的所有類型、運算符、限定符、內建函數。