OpenGL ES 3.0编程指南-(原书第2版)

相关资料

[

★作为一名图形技术人员和认真的opengl es开发人员,我真心诚意地认为,如果你只购买一本有关opengl es 3.0编程的书籍,那么就应该是买这本书。dan和 budirijanto的这本书很明显是程序员写给程序员的书,任何对opengl es 3.0感兴趣的人都有必要阅读它。你会发现在编程过程中,你将会一次又一次地打开本书,而不是阅读opengl es 的规范。我极力推荐你阅读它!
  —— rick tewell,freescale图形技术架构师
  ★本书用清晰、全面的解释和大量示例,介绍了opengl es的最新版本,任何开发移动应用的人的桌面上都应该有它。
  —— dave astle,高通公司图形工具主管,gamedev.net创始人

]

本书特色

[

  《华章 opengl es
3.0编程指南(原书第2版)》由资深opengl技术专家亲笔撰写,全面介绍opengl es 3.0的各种特性及新增功能,
,通过大量已经编译和测试过的实例,详细讲解opengl es
3.0中的应用程序接口(api)和图形管线,既涵盖简单图形的渲染方法,又深入介绍逐像素照明和粒子系统等高级渲染技术,并且包含大量有效使用api和硬件的实用技巧,为手持设备的各种高性能3d应用开发提供翔实指导。
  《华章
opengl es 3.0编程指南(原书第2版)》共16章:第1章简单介绍opengl es ,并概述opengl es
3.0图形管线;第2章通过绘制一个三角形的简单opengl es 3.0示例程序,讲解一些api概念,并说明如何构建和运行opengl
es示例程序;第3章讲述为opengl es
3.0创建表面和渲染上下文的api——egl;第4章讨论创建着色器对象、编译着色器和检查编译错误的方法;第5章讲解编写着色器所需的着色语言基本知识;第6章详细介绍几何形状输入图形管线的方法,包含对顶点属性、顶点数组和缓冲区对象的讨论;第7章讨论几何形状如何装配成图元,介绍opengl
es 3.0中所有可用图元类型,包括点精灵、直线、三角形、三角形条带和三角扇形;第8章概述顶点着色器如何融入管线,以及opengl es
着色语言中可用于顶点着色器的特殊变量;第9章和第10章介绍片段着色器,包括多重纹理、雾化、alpha测试和用户裁剪平面等;第11章讨论片段操作,包括剪裁测试、模板测试、深度测试、多重采样、混合和抖动;第12章介绍使用帧缓冲区对象渲染屏幕外表面;第13章讨论同步对象和栅栏的使用方法;第14章介绍opengl
es 3.0高级编程,包含使用法线贴图的逐像素照明、环境贴图、粒子系统、图像后处理、程序纹理、阴影贴图、地形渲染和投影纹理等渲染技术。;第15章提供opengl
es 3.0中各种可用状态查询的参考;第16章讨论如何为ios 7、android 4.3 ndk、android 4.3
sdk、windows和linux构建opengl es样板代码。

]

内容简介

[

《华章 opengl es 3.0编程指南(原书第2版)》由资深opengl技术专家亲笔撰写,全面介绍opengl es
3.0的各种特性及新增功能;
  通过大量已经编译和测试过的实例,详细讲解opengl es
3.0中的应用程序接口(api)和图形管线,既涵盖简单图形的渲染方法,又深入介绍逐像素照明和粒子系统等高级渲染技术,并且包含大量有效使用api和硬件的实用技巧,为手持设备的各种高性能3d应用开发提供翔实指导。

]

作者简介

[

Dan Ginsburg,Upsample Software公司创始人,该软件公司提供3D图形和GPU计算的咨询服务。Dan参与撰写了多部著作,包括《OpenCL 编程指南》和《OpenGL Shading Language》(第3版)。在过去的工作中,Dan曾经开发OpenGL驱动程序、桌面和手持3D演示、GPU开发人员工具、3D医学显示和游戏。
  Budirijanto Purnomo,AMD公司高级软件架构师,领导跨越多个AMD软件栈的GPU调试和剖析技术的软件实现工作。他与多位AMD的软件和硬件架构师协作,定义用于调试和剖析GPU应用的未来硬件架构。他曾在国际会议上发表过许多与计算机图形技术相关的论文。
  Dave Shreiner,ARM公司图形与GPU计算部门主管,自从OpenGL诞生之日起就积极地参与到它的开发当中。他创建了OpenGL的第一个商业培训课程,并且拥有超过20年的OpenGL编程教学经验。

]

目录

本书赞誉译者序序前言致谢第1章 opengl es 3.0简介1.1 opengl es 3.01.1.1 顶点着色器1.1.2 图元装配1.1.3 光栅化1.1.4 片段着色器1.1.5 逐片段操作1.2 opengl es 3.0新功能1.2.1 纹理1.2.2 着色器1.2.3 几何形状1.2.4 缓冲区对象1.2.5 帧缓冲区1.3 opengl es 3.0和向后兼容性1.4 egl1.4.1 使用opengl es 3.0编程1.4.2 库和包含文件1.5 egl命令语法1.6 opengl es命令语法1.7 错误处理1.8 基本状态管理1.9 延伸阅读第2章 你好,三角形:一个opengl es 3.0示例2.1 代码框架2.2 示例下载位置2.3 ”你好,三角形”(hello triangle)示例2.4 使用opengl es 3.0框架2.5 创建简单的顶点和片段着色器2.6 编译和加载着色器2.7 创建一个程序对象并链接着色器2.8 设置视口和清除颜色缓冲区2.9 加载几何形状和绘制图元2.10 显示后台缓冲区2.11 小结第3章 egl简介3.1 与窗口系统通信3.2 检查错误3.3 初始化egl3.4 确定可用表面配置3.5 查询eglconf?ig属性3.6 让egl选择配置3.7 创建屏幕上的渲染区域:egl窗口3.8 创建屏幕外渲染区域:egl pbuffer3.9 创建一个渲染上下文3.10 指定某个eglcontext为当前上下文3.11 结合所有egl知识3.12 同步渲染3.13 小结第4章 着色器和程序4.1 着色器和程序4.1.1 创建和编译一个着色器4.1.2 创建和链接程序4.2 统一变量和属性4.2.1 获取和设置统一变量4.2.2 统一变量缓冲区对象4.2.3 获取和设置属性4.3 着色器编译器4.4 程序二进制码4.5 小结第5章 opengl es着色语言5.1 opengl es着色语言基础知识5.2 着色器版本规范5.3 变量和变量类型5.4 变量构造器5.5 向量和矩阵分量5.6 常量5.7 结构5.8 数组5.9 运算符5.10 函数5.11 内建函数5.12 控制流语句5.13 统一变量5.14 统一变量块5.15 顶点和片段着色器输入/输出5.16 插值限定符5.17 预处理器和指令5.18 统一变量和插值器打包5.19 精度限定符5.20 不变性5.21 小结第6章 顶点属性、顶点数组和缓冲区对象6.1 指定顶点属性数据6.1.1 常量顶点属性6.1.2 顶点数组6.2 在顶点着色器中声明顶点属性变量6.3 顶点缓冲区对象6.4 顶点数组对象6.5 映射缓冲区对象6.6 复制缓冲区对象6.7 小结第7章 图元装配和光栅化7.1 图元7.1.1 三角形7.1.2 直线7.1.3 点精灵7.2 绘制图元7.2.1 图元重启7.2.2 驱动顶点7.2.3 几何形状实例化7.2.4 性能提示7.3 图元装配7.3.1 坐标系统7.3.2 透视分割7.3.3 视口变换7.4 光栅化7.4.1 剔除7.4.2 多边形偏移7.5 遮挡查询7.6 小结第8章 顶点着色器8.1 顶点着色器概述8.1.1 顶点着色器内建变量8.1.2 精度限定符8.1.3 顶点着色器中的统一变量限制数量8.2 顶点着色器示例8.2.1 矩阵变换8.2.2 顶点着色器中的照明8.3 生成纹理坐标8.4 顶点蒙皮8.5 变换反馈8.6 顶点纹理8.7 将opengl es 1.1顶点管线作为es 3.0顶点着色器8.8 小结第9章 纹理9.1 纹理基础9.1.1 2d纹理9.1.2 立方图纹理9.1.3 3d纹理9.1.4 2d纹理数组9.1.5 纹理对象和纹理的加载9.1.6 纹理过滤和mip贴图9.1.7 自动mip贴图生成9.1.8 纹理坐标包装9.1.9 纹理调配9.1.10 纹理细节级别9.1.11 深度纹理对比(百分比渐进过滤)9.1.12 纹理格式9.1.13 在着色器中使用纹理9.1.14 使用立方图纹理的示例9.1.15 加载3d纹理和2d纹理数组9.2 压缩纹理9.3 纹理子图像规范9.4 从颜色缓冲区复制纹理数据9.5 采样器对象9.6 不可变纹理9.7 像素解包缓冲区对象9.8 小结第10章 片段着色器10.1 固定功能片段着色器10.2 片段着色器概述10.2.1 内建特殊变量10.2.2 内建常量10.2.3 精度限定符10.3 用着色器实现固定功能技术10.3.1 多重纹理10.3.2 雾化10.3.3 alpha测试(使用discard)10.3.4 用户裁剪平面10.4 小结第11章 片段操作11.1 缓冲区11.1.1 请求更多缓冲区11.1.2 清除缓冲区11.1.3 用掩码控制帧缓冲区的写入11.2 片段测试和操作11.2.1 使用剪裁测试11.2.2 模板缓冲区测试11.3 混合11.4 抖动11.5 多重采样抗锯齿11.6 在帧缓冲区读取和写入像素11.7 多重渲染目标11.8 小结第12章 帧缓冲区对象12.1 为什么使用帧缓冲区对象12.2 帧缓冲区和渲染缓冲区对象12.2.1 选择渲染缓冲区与纹理作为帧缓冲区附着的对比12.2.2 帧缓冲区对象与egl表面的对比12.3 创建帧缓冲区和渲染缓冲区对象12.4 使用帧缓冲区对象12.4.1 多重采样渲染缓冲区12.4.2 渲染缓冲区格式12.5 使用帧缓冲区对象12.5.1 连接渲染缓冲区作为帧缓冲区附着12.5.2 连接一个2d纹理作为帧缓冲区附着12.5.3 连接3d纹理的一个图像作为帧缓冲区附着12.5.4 检查帧缓冲区完整性12.6 帧缓冲区位块传送12.7 帧缓冲区失效12.8 删除帧缓冲区和渲染缓冲区对象12.9 删除用作帧缓冲区附着的渲染缓冲区对象12.10 示例12.11 性能提示和技巧12.12 小结第13章 同步对象和栅栏13.1 刷新和结束13.2 为什么使用同步对象13.3 创建和删除同步对象13.4 等待和向同步对象发送信号13.5 示例13.6 小结第14章 opengl es 3.0高级编程14.1 逐片段照明14.1.1 使用法线贴图的照明14.1.2 照明着色器14.1.3 照明方程式14.2 环境贴图14.3 使用点精灵的粒子系统14.3.1 粒子系统设置14.3.2 粒子系统顶点着色器14.3.3 粒子系统片段着色器14.4 使用变换反馈的粒子系统14.4.1 粒子系统渲染算法14.4.2 使用变换反馈发射粒子14.4.3 渲染粒子14.5 图像后处理14.5.1 渲染到纹理设置14.5.2 模糊片段着色器14.5.3 眩光14.6 投影纹理14.6.1 投影纹理基础14.6.2 投影纹理所用的矩阵14.6.3 投影聚光灯着色器14.7 使用3d纹理的噪声14.7.1 生成噪声14.7.2 使用噪声14.8 过程纹理14.8.1 过程纹理示例14.8.2 过程纹理的抗锯齿14.8.3 关于过程纹理的延伸阅读14.9 用顶点纹理读取渲染地形14.9.1 生成一个正方形的地形网格14.9.2 在顶点着色器中计算顶点法线并读取高度值14.9.3 大型地形渲染的延伸阅读14.10 使用深度纹理的阴影14.10.1 从光源位置渲染到深度纹理14.10.2 从眼睛位置用深度纹理渲染14.11 小结第15章 状态查询15.1 opengl es 3.0实现字符串查询15.2 查询opengl es实现决定的限制15.3 查询opengl es状态15.4 提示15.5 实体名称查询15.6 不可编程操作控制和查询15.7 着色器和程序状态查询15.8 顶点属性查询15.9 纹理状态查询15.10 采样器查询15.11 异步对象查询15.12 同步对象查询15.13 顶点缓冲区查询15.14 渲染缓冲区和帧缓冲区状态查询15.15 小结第16章 opengl es平台16.1 在包含visual studio的microsoft windows上构建16.2 在ubuntu linux上构建16.3 在android 4.3+ ndk (c++)上构建16.3.1 先决条件16.3.2 用android ndk构建示例代码16.4 在android 4.3+ sdk上构建(java)16.5 在ios 7上构建16.5.1 先决条件16.5.2 用xcode 5构建示例代码16.6 小结附录a gl_half_float附录b 内 建 函 数附录c es框架api

封面

OpenGL ES 3.0编程指南-(原书第2版)

书名:OpenGL ES 3.0编程指南-(原书第2版)

作者:金斯伯格

页数:344

定价:¥79.0

出版社:机械工业出版社

出版日期:2015-02-01

ISBN:9787111489153

PDF电子书大小:135MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注