封面
版权信息
内容提要
前言
参考资料
作者简介
资源与支持
配套资源
提交勘误
与我们联系
关于异步社区和异步图书
第1章 入门
1.1 语言和库
1.2 安装和配置
参考资料
第2章 OpenGL图像管线
2.1 OpenGL管线
2.2 检测OpenGL和GLSL错误
2.3 从文件读取GLSL源代码
2.4 从顶点构建对象
2.5 场景动画
2.6 C++代码文件结构
习题
参考资料
第3章 数学基础
3.1 3D坐标系统
3.2 点
3.3 矩阵
3.4 变换矩阵
3.5 向量
3.6 局部和世界空间
3.7 视觉空间和合成相机
3.8 投影矩阵
3.9 LookAt矩阵
3.10 用来构建矩阵变换的GLSL函数
习题
参考资料
第4章 管理3D图形数据
4.1 缓冲区和顶点属性
4.2 统一变量
4.3 顶点属性插值
4.4 模型-视图和透视矩阵
4.5 我们的第一个3D程序——一个3D立方体
4.6 渲染一个对象的多个副本
4.7 在同一个场景中渲染多个不同模型
4.8 矩阵堆栈
4.9 应对“Z冲突”伪影
4.10 图元的其他选项
4.11 性能优先的编程方法
习题
参考资料
第5章 纹理贴图
5.1 加载纹理图像文件
5.2 纹理坐标
5.3 创建纹理对象
5.4 构建纹理坐标
5.5 将纹理坐标载入缓冲区
5.6 在着色器中使用纹理:采样器变量和纹理单元
5.7 纹理贴图:示例程序
5.8 多级渐远纹理贴图
5.9 各向异性过滤
5.10 环绕和平铺
5.11 透视变形
5.12 材质——更多OpenGL细节
习题
参考资料
第6章 3D模型
6.1 程序构建模型——构建一个球体
6.2 OpenGL索引——构建一个环面
6.3 加载外部构建的模型
习题
参考资料
第7章 光照
7.1 光照模型
7.2 光源
7.3 材质
7.4 ADS光照计算
7.5 实现ADS光照
7.6 结合光照与纹理
习题
参考资料
第8章 阴影
8.1 阴影的重要性
8.2 投影阴影
8.3 阴影体
8.4 阴影贴图
8.5 阴影贴图示例
8.6 阴影贴图的伪影
8.7 柔和阴影
习题
参考资料
第9章 天空和背景
9.1 天空盒
9.2 天空穹顶
9.3 实现天空盒
9.4 环境贴图
习题
参考资料
第10章 增强表面细节
10.1 凹凸贴图
10.2 法线贴图
10.3 高度贴图
习题
参考资料
第11章 参数曲面
11.1 二次贝塞尔曲线
11.2 三次贝塞尔曲线
11.3 二次贝塞尔曲面
11.4 三次贝塞尔曲面
习题
参考资料
第12章 曲面细分
12.1 OpenGL中的曲面细分
12.2 贝塞尔曲面细分
12.3 地形、高度图的细分
12.4 控制细节级别(LOD)
习题
参考资料
第13章 几何着色器
13.1 OpenGL中的逐个图元处理
13.2 修改图元
13.3 删除图元
13.4 添加图元
13.5 更改图元类型
习题
参考资料
第14章 其他技术
14.1 雾
14.2 复合、混合、透明度
14.3 用户定义剪裁平面
14.4 3D纹理
14.5 噪声
14.6 噪声应用——大理石
14.7 噪声应用——木材
14.8 噪声应用——云
14.9 噪声应用——特殊效果
习题
参考资料
附录A PC(Windows)上的安装与设置
A.1 安装库和开发环境
A.2 在MS Visual Studio中开发和部署OpenGL项目
参考资料
附录B Macintosh(macOS)平台上的安装与设置
B.1 安装库和开发环境
B.2 修改Mac的C++/OpenGL/GLSL应用程序代码
参考资料
附录C 使用Nsight图形调试器
C.1 关于NVIDIANsight
C.2 设置Nsight
C.3 在Nsight中运行C++/OpenGL应用程序
参考资料
更新时间:2020-06-02 15:37:18