计算机图形图像渲染
¥78.00定价
作者: 钟安元,敖剑
出版时间:2021-10
出版社:重庆大学电子音像出版社
- 重庆大学电子音像出版社
- 9787894465351
- 1版
- 424545
- 65246083-3
- 平装
- 16开
- 2021-10
- 156
- 工学
- 计算机科学与技术
- 计算机类
- 高职
内容简介
目录
目录
第1章 空间坐标 1
1.1 笛卡尔坐标系 4
1.1.1 什么是笛卡尔坐标系 4
1.1.2 2D笛卡尔坐标系 4
1.2 2D极坐标 5
1.2.1 什么是2D极坐标 5
1.2.2 2D极坐标转笛卡尔 7
1.2.3 笛卡尔转2D极坐标 7
1.2.4 玫瑰线 8
1.2.5 阿基米德螺线 9
1.3 3D坐标系 10
1.3.1 3D笛卡尔坐标系 10
1.3.2 左手坐标系 11
1.3.3 右手坐标系 12
1.3.4 3D柱面坐标系 12
1.3.5 3D球面坐标 14
1.4 多坐标系 15
1.4.1 世界坐标系 16
1.4.2 物体坐标系 16
1.4.3 摄像机坐标系 17
1.4.4 嵌套式坐标系 18
第2章 DirectX11介绍 20
2.1 DirectX 22
2.1.1 关于DirectX 22
2.1.2 DirectX发展史 22
2.2 实时渲染管线 23
2.2.1 应用程序 23
2.2.2 几何 25
2.2.3 光栅化 28
2.3 DirectX11渲染流水线 31
2.3.1 渲染流程介绍 31
2.3.2 输入装配阶段:The Input-Assembler Stage(IA) 33
2.3.3 顶点着色阶段:The Vertex Shader Stage(VS) 37
2.3.4 细分曲面阶段:Tessellation Stage 37
2.3.5 几何着色阶段:The Geometry Shader Stage(GS) 38
2.3.6 流输出阶段:Stream-Output Stage 39
2.3.7 光栅化阶段:The Rasterizer Stage(RS) 39
2.3.8 像素着色阶段:The Pixel Shader Stage(PS) 39
2.3.9 输出混合阶段:The Output-Merger Stage(OM) 40
2.4 Direct3D中的基本概念 40
2.4.1 像素 40
2.4.2 分辨率 41
2.4.3 填充率 41
2.4.4 表面 41
2.4.5 缓冲区 41
2.5 HLSL 42
2.5.1 什么是HLSL 42
2.5.2 数据类型 43
2.5.3 函数列表 44
第3章 Direct3D程序基本框架 49
3.1 下载配置DirectXSDK 51
3.2 创建Windows窗体 54
3.2.1 大写字母标识符 55
3.2.2 匈牙利表示法 55
3.2.3 注册窗口 56
3.2.4 创建窗口 58
3.2.5 显示窗体 58
3.3 消息循环 58
3.3.1 获得消息 59
3.3.2 转换消息 59
3.3.3 分发消息 59
3.3.4 窗口消息处理程序 60
3.4 创建DirectX设备 61
3.4.1 创建设备交换链 61
3.4.2 创建渲染目标视图 71
3.4.3 设置视口 72
3.5 渲染以及清理缓冲区 73
3.6 释放设备 75
第4章 绘制基本图形 77
4.1 编译着色器 79
4.1.1 编译着色器 79
4.1.2 创建着色器 81
4.2 创建输入布局 81
4.2.1 什么是输入布局 81
4.2.2 创建顶点输入布局 82
4.3 顶点缓冲区 83
4.3.1 输入装配流程 83
4.3.2 创建顶点数据 83
4.3.3 设置顶点数据 84
4.3.4 绘制 85
4.4 索引缓冲区 86
4.4.1 创建索引缓冲区 86
4.5 深度蒙版缓冲区 87
4.5.1 什么是深度测试 87
4.5.2 创建深度蒙版纹理 87
4.5.3 创建设置深度模板视图 88
4.5.4 清理深度信息 89
第5章 纹理贴图 92
5.1 纹理渲染 94
5.2 纹理坐标 94
5.2.1 纹理映射 94
5.3 纹理过滤 96
5.3.1 什么是MipMap 96
5.3.2 什么是各向同性和各向异性 97
5.3.3 Nearest Point Sampling(最近点采样) 97
5.3.4 Bilinear(双线性过滤) 97
5.3.5 Trilinear(三线性过滤) 97
5.3.6 Anisotropic Filtering(各向异性过滤) 98
5.4 纹理坐标寻址与包装 98
5.4.1 包装纹理寻址 98
5.4.2 边框颜色纹理寻址 99
5.4.3 夹取纹理寻址 99
5.4.4 镜像纹理寻址 100
5.4.5 一次镜像纹理寻址 100
5.5 压缩纹理 101
5.5.1 传统格式 101
5.5.2 调色板技术 102
5.5.3 纹理压缩 104
5.5.4 DXT 106
5.5.5 PVR&ETC 108
5.6 使用纹理 108
5.6.1 加载纹理资源 108
5.6.2 创建采样器描述 109
5.6.3 输入布局中添加纹理坐标格式 110
5.6.4 顶点数据中添加UV坐标信息 110
5.6.5 设置数据 110
第6章 光照模型 112
6.1 光照计算 114
6.2 局部光照模型 115
6.2.1 Lambert光照模型 115
6.2.2 Phong光照模型 115
6.2.3 Blinn-Phong 117
6.2.4 物理光照模型 119
6.3 全局光照 122
6.4 材质对象 122
6.5 光源类型 123
6.5.1 环境光(定向光) 123
6.5.2 点光 123
6.5.3 聚光 125
6.5.4 区域光 127
第7章 细节贴图 129
7.1 凹凸贴图 131
7.1.1 什么是凹凸贴图 131
7.1.2 为什么要使用凹凸贴图 131
7.1.3 凹凸贴图原理 131
7.1.4 什么是凹凸图 132
7.2 法线贴图 134
7.2.1 法线贴图原理 134
7.2.2 法线存储格式 135
7.2.3 法线数据转换 135
7.3 视差映射 137
7.4 置换贴图 138
第8章 空间划分 141
8.1 空间划分简介 143
8.2 四叉树地形剔除 144
8.2.1 四叉树在场景中的应用 145
8.2.2 场景划分在优化碰撞检测中的应用 145
8.3 八叉树空间划分 146
8.4 BSP空间划分 146
8.5 实时碰撞检测 148
8.5.1 包围体简介 148
8.5.2 包围球 149
8.5.3 AABB碰撞检测 149
8.5.4 OBB碰撞检测 151
8.5.5 基于层次包围体树的K-DOP 154
8.5.6 包围盒优缺点 155
第1章 空间坐标 1
1.1 笛卡尔坐标系 4
1.1.1 什么是笛卡尔坐标系 4
1.1.2 2D笛卡尔坐标系 4
1.2 2D极坐标 5
1.2.1 什么是2D极坐标 5
1.2.2 2D极坐标转笛卡尔 7
1.2.3 笛卡尔转2D极坐标 7
1.2.4 玫瑰线 8
1.2.5 阿基米德螺线 9
1.3 3D坐标系 10
1.3.1 3D笛卡尔坐标系 10
1.3.2 左手坐标系 11
1.3.3 右手坐标系 12
1.3.4 3D柱面坐标系 12
1.3.5 3D球面坐标 14
1.4 多坐标系 15
1.4.1 世界坐标系 16
1.4.2 物体坐标系 16
1.4.3 摄像机坐标系 17
1.4.4 嵌套式坐标系 18
第2章 DirectX11介绍 20
2.1 DirectX 22
2.1.1 关于DirectX 22
2.1.2 DirectX发展史 22
2.2 实时渲染管线 23
2.2.1 应用程序 23
2.2.2 几何 25
2.2.3 光栅化 28
2.3 DirectX11渲染流水线 31
2.3.1 渲染流程介绍 31
2.3.2 输入装配阶段:The Input-Assembler Stage(IA) 33
2.3.3 顶点着色阶段:The Vertex Shader Stage(VS) 37
2.3.4 细分曲面阶段:Tessellation Stage 37
2.3.5 几何着色阶段:The Geometry Shader Stage(GS) 38
2.3.6 流输出阶段:Stream-Output Stage 39
2.3.7 光栅化阶段:The Rasterizer Stage(RS) 39
2.3.8 像素着色阶段:The Pixel Shader Stage(PS) 39
2.3.9 输出混合阶段:The Output-Merger Stage(OM) 40
2.4 Direct3D中的基本概念 40
2.4.1 像素 40
2.4.2 分辨率 41
2.4.3 填充率 41
2.4.4 表面 41
2.4.5 缓冲区 41
2.5 HLSL 42
2.5.1 什么是HLSL 42
2.5.2 数据类型 43
2.5.3 函数列表 44
第3章 Direct3D程序基本框架 49
3.1 下载配置DirectXSDK 51
3.2 创建Windows窗体 54
3.2.1 大写字母标识符 55
3.2.2 匈牙利表示法 55
3.2.3 注册窗口 56
3.2.4 创建窗口 58
3.2.5 显示窗体 58
3.3 消息循环 58
3.3.1 获得消息 59
3.3.2 转换消息 59
3.3.3 分发消息 59
3.3.4 窗口消息处理程序 60
3.4 创建DirectX设备 61
3.4.1 创建设备交换链 61
3.4.2 创建渲染目标视图 71
3.4.3 设置视口 72
3.5 渲染以及清理缓冲区 73
3.6 释放设备 75
第4章 绘制基本图形 77
4.1 编译着色器 79
4.1.1 编译着色器 79
4.1.2 创建着色器 81
4.2 创建输入布局 81
4.2.1 什么是输入布局 81
4.2.2 创建顶点输入布局 82
4.3 顶点缓冲区 83
4.3.1 输入装配流程 83
4.3.2 创建顶点数据 83
4.3.3 设置顶点数据 84
4.3.4 绘制 85
4.4 索引缓冲区 86
4.4.1 创建索引缓冲区 86
4.5 深度蒙版缓冲区 87
4.5.1 什么是深度测试 87
4.5.2 创建深度蒙版纹理 87
4.5.3 创建设置深度模板视图 88
4.5.4 清理深度信息 89
第5章 纹理贴图 92
5.1 纹理渲染 94
5.2 纹理坐标 94
5.2.1 纹理映射 94
5.3 纹理过滤 96
5.3.1 什么是MipMap 96
5.3.2 什么是各向同性和各向异性 97
5.3.3 Nearest Point Sampling(最近点采样) 97
5.3.4 Bilinear(双线性过滤) 97
5.3.5 Trilinear(三线性过滤) 97
5.3.6 Anisotropic Filtering(各向异性过滤) 98
5.4 纹理坐标寻址与包装 98
5.4.1 包装纹理寻址 98
5.4.2 边框颜色纹理寻址 99
5.4.3 夹取纹理寻址 99
5.4.4 镜像纹理寻址 100
5.4.5 一次镜像纹理寻址 100
5.5 压缩纹理 101
5.5.1 传统格式 101
5.5.2 调色板技术 102
5.5.3 纹理压缩 104
5.5.4 DXT 106
5.5.5 PVR&ETC 108
5.6 使用纹理 108
5.6.1 加载纹理资源 108
5.6.2 创建采样器描述 109
5.6.3 输入布局中添加纹理坐标格式 110
5.6.4 顶点数据中添加UV坐标信息 110
5.6.5 设置数据 110
第6章 光照模型 112
6.1 光照计算 114
6.2 局部光照模型 115
6.2.1 Lambert光照模型 115
6.2.2 Phong光照模型 115
6.2.3 Blinn-Phong 117
6.2.4 物理光照模型 119
6.3 全局光照 122
6.4 材质对象 122
6.5 光源类型 123
6.5.1 环境光(定向光) 123
6.5.2 点光 123
6.5.3 聚光 125
6.5.4 区域光 127
第7章 细节贴图 129
7.1 凹凸贴图 131
7.1.1 什么是凹凸贴图 131
7.1.2 为什么要使用凹凸贴图 131
7.1.3 凹凸贴图原理 131
7.1.4 什么是凹凸图 132
7.2 法线贴图 134
7.2.1 法线贴图原理 134
7.2.2 法线存储格式 135
7.2.3 法线数据转换 135
7.3 视差映射 137
7.4 置换贴图 138
第8章 空间划分 141
8.1 空间划分简介 143
8.2 四叉树地形剔除 144
8.2.1 四叉树在场景中的应用 145
8.2.2 场景划分在优化碰撞检测中的应用 145
8.3 八叉树空间划分 146
8.4 BSP空间划分 146
8.5 实时碰撞检测 148
8.5.1 包围体简介 148
8.5.2 包围球 149
8.5.3 AABB碰撞检测 149
8.5.4 OBB碰撞检测 151
8.5.5 基于层次包围体树的K-DOP 154
8.5.6 包围盒优缺点 155