当前位置:首页 > 工业技术
3D图形编程基础  基于DirectX 11
3D图形编程基础  基于DirectX 11

3D图形编程基础 基于DirectX 11PDF电子书下载

工业技术

  • 电子书积分:11 积分如何计算积分?
  • 作 者:姚莉,高瞻,肖健等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2012
  • ISBN:9787302272847
  • 页数:276 页
图书介绍:本书介绍了如何利用DirectX 11的Direct3D开发交互式3D图形程序。
《3D图形编程基础 基于DirectX 11》目录

第一部分 数学基础 3

第1章 向量 3

1.1向量的概念 3

1.1.1向量的表示 3

1.1.2左手坐标系和右手坐标系 3

1.2向量的长度及规范化 4

1.2.1向量长度 4

1.2.2向量的标准化 4

1.3向量的加法和减法 5

1.4数乘 5

1.5点积 6

1.6叉积 6

1.7齐次坐标 7

1.8 XNA向量 7

1.8.1 SIMD编程简介 8

1.8.2 XNA向量类型 8

1.8.3 XNA向量操作 9

1.9本章小结 12

第2章 矩阵 13

2.1矩阵定义 13

2.1.1定义 13

2.1.2矩阵相等、矩阵加法和矩阵数乘 13

2.2矩阵乘法 14

2.2.1定义 14

2.2.2向量-矩阵乘法 14

2.3矩阵的转置 15

2.4单位矩阵 15

2.5逆矩阵 16

2.5.1定义 16

2.5.2逆矩阵的用途 16

2.6 XNA矩阵 17

2.6.1 XNA矩阵类型 17

2.6.2 XNA矩阵操作 18

2.7本章小结 21

第3章 矩阵变换 23

3.1基本变换 23

3.1.1平移变换 23

3.1.2旋转变换 24

3.1.3缩放变换 26

3.2 XNA矩阵变换函数 27

3.3几何变换的组合 28

3.4本章小结 29

第二部分 Direct3D基础 33

第4章 Direct3D 11概述 33

4.1 DirectX概述 33

4.1.1 DirectX历史及版本 33

4.1.2 COM 36

4.2 Direct3D 11新特性 37

4.3 Direct3D 11与OpenGL 4.0比较 38

4.4 Direct3D 11与Direct3D 10渲染管线比较 38

4.5着色器概述 39

4.6各个管线阶段 41

4.7本章小结 42

第5章 初始化Direct3D 43

5.1一些准备工作 43

5.1.1三维空间及其变换 43

5.1.2资源 47

5.1.3交换链和页面切换 52

5.1.4深度缓存 52

5.1.5多重采样 54

5.2初始化Direct3 D 54

5.2.1初始化设备 54

5.2.2描述交换链(Swap Chain) 55

5.2.3创建设备、交换链以及立即执行上下文 57

5.2.4创建并绑定渲染目标视图 58

5.2.5创建视口 59

5.3本章小结 60

第6章 HLSL入门 61

6.1 Effect文件 62

6.1.1什么是Effect 62

6.1.2 Effect文件结构 62

6.1.3外部变量和常量缓存 64

6.1.4输入输出结构 64

6.1.5着色器主函数 65

6.1.6 Technique 65

6.1.7通道 65

6.2高级着色语言 66

6.2.1变量 67

6.2.2语义 75

6.2.3函数声明 76

6.3 Effect框架 77

6.3.1配置Effect框架 77

6.3.2读取Effect文件 78

6.3.3创建ID3DEffect对象 79

6.3.4 C++程序与Effect的交互 80

6.3.5使用Effect进行绘制 81

6.4本章小结 81

第7章 Direct3D 11中的绘制 82

7.1三维图元 82

7.2三角形的绘制 83

7.2.1三角形的定义 83

7.2.2输入布局 84

7.2.3编译顶点着色器及创建顶点布局对象 85

7.2.4创建顶点缓存 86

7.2.5指定图元类型 86

7.2.6创建像素着色器 87

7.2.7绘制 88

7.3基于Effect框架的立方体绘制 89

7.3.1顶点缓存的缺陷 89

7.3.2索引缓存的概念 90

7.3.3着色器代码 91

7.3.4绘制立方体 92

7.4本章小结 93

第8章 颜色 94

8.1 Direct3D中的颜色表示 94

8.2顶点颜色 95

8.3着色处理 95

8.4实例程序:Color Cube 96

8.5本章小结 99

第9章 光照 100

9.1光照与材质 100

9.1.1光照 100

9.1.2材质 100

9.1.3光照模型 100

9.2顶点法线 101

9.3光照类型 102

9.3.1环境光 102

9.3.2漫射光 103

9.3.3镜面光 104

9.3.4 Phong光照模型 105

9.4光源类型 106

9.4.1方向光源 106

9.4.2点光源 107

9.4.3聚光灯 107

9.5光照实例 108

9.5.1光源及材质结构定义 108

9.5.2平行光的实现 110

9.5.3点光源的实现 111

9.5.4聚光灯的实现 113

9.6本章小结 114

第10章 纹理 116

10.1纹理坐标 116

10.2创建并使用纹理 117

10.3纹理过滤器 118

10.4纹理采样 120

10.5纹理寻址模式 121

10.6实例:木箱 123

10.7本章小结 126

第11章 混合 127

11.1开启混合 127

11.2混合公式的设置 128

11.2.1名词解释 128

11.2.2混合因子 129

11.2.3混合操作符 130

11.3应用颜色混合 130

11.4本章小结 133

第12章 模板 134

12.1建立缓存区 134

12.2建立缓存视图 135

12.3创建模板描述和模板状态对象 136

12.4使用模板缓存 137

12.5本章小结 139

第三部分 Direct3D应用 143

第13章 相机设计 143

13.1基本概念 143

13.2 Camera设计 144

13.3 Camera工作原理 146

13.3.1摄像机在初始位置绕Up轴旋转 146

13.3.2摄像机在初始位置绕Right轴旋转 147

13.3.3摄像机在指定位置旋转 148

13.3.4摄像机平移 149

13.4 Camera的实现 149

13.4.1倾斜、偏航、滚转 149

13.4.2移动 150

13.4.3整合 151

13.5 Camera的使用 151

13.6本章小结 153

第14章 网格 154

14.1 OBJ格式介绍 154

14.1.1 OBJ文件 154

14.1.2 OBJ关键字 154

14.1.3 mtl文件 156

14.2 OBJ模型导入 158

14.2.1模型文件解析 158

14.2.2坐标系转换 160

14.2.3绘制 160

14.3本章小结 162

第15章 粒子系统 163

15.1粒子系统的工作原理 163

15.1.1模拟阶段 164

15.1.2渲染阶段 164

15.2粒子系统的设计 165

15.2.1粒子的顶点结构 165

15.2.2粒子的运动 165

15.2.3随机数 166

15.2.4混合 169

15.3粒子系统的实现 169

15.3.1产生/销毁粒子 169

15.3.2模拟更新 172

15.4本章小结 175

第16章 拾取 177

16.1拾取流程 177

16.2求拾取射线 178

16.2.1屏幕坐标变换到投影坐标 178

16.2.2投影坐标转换到观察坐标 179

16.3射线-物体相交判断 181

16.3.1将射线变换到模型空间 181

16.3.2射线-三角形相交判断 181

16.4本章小结 183

第四部分 Direct3D 11渲染管线及高级主题 187

第17章 输入装配阶段 187

17.1 IA阶段的步骤 187

17.1.1创建输入缓存 187

17.1.2创建输入布局对象 191

17.1.3将输入对象绑定到管线的IA阶段 193

17.1.4指定图元拓扑类型 194

17.1.5调用绘制方法 195

17.2图元拓扑类型 196

17.2.1基本图元类型 196

17.2.2带邻接信息的图元类型 197

17.3不需要输入缓存的IA阶段 198

17.3.1实例 198

17.3.2 IA阶段系统生成值 200

17.4本章小结 201

第18章 顶点着色阶段 202

18.1顶点着色器的设置步骤 202

18.2进行空间变换 204

18.2.1局部空间和世界空间 204

18.2.2观察空间 205

18.2.3投影空间 206

18.3例程:人物波动 209

18.4例程:顶点光照 210

18.5本章小结 213

第19章 曲面细分技术 214

19.1 Direct3D 11中的曲面细分 214

19.2新的渲染阶段 215

19.2.1外壳着色器阶段 216

19.2.2曲面细分阶段 220

19.2.3域着色器阶段 221

19.3实例1:简单的曲面细分的例子 224

19.4实例2:利用曲面细分实现置换纹理映射 228

19.4.1凹凸映射 228

19.4.2实例说明 231

19.5本章小结 236

第20章 几何着色阶段 237

20.1几何着色器的设计 238

20.2几何着色器的使用 240

20.3本章小结 241

第21章 流输出阶段和光栅化阶段 242

21.1流输出阶段 242

21.1.1设置流输出的元素并和几何着色器绑定 242

21.1.2设置输出目标 243

21.2光栅化阶段 244

21.2.1裁剪矩形 244

21.2.2光栅化状态 245

21.3本章小结 246

第22章 绘制阶段 247

22.1像素着色阶段 247

22.1.1像素着色器的结构 247

22.1.2像素着色器的调用 248

22.1.3像素着色器的应用 248

22.2合并输出阶段 250

22.2.1深度/模板测试 250

22.2.2颜色混合 251

22.2.3深度偏移 251

22.3本章小结 254

第23章 计算着色器 255

23.1计算着色器的介绍 255

23.2计算着色器线程和线程组 256

23.3计算着色器状态 258

23.4实例:分形算法 259

23.5本章小结 262

附录A Windows编程基础 263

A.1语言的选择 263

A.2“类”和类 264

A.3入口函数 264

A.4注册窗口“类”并创建窗口 265

A.5显示窗口并处理消息队列 266

A.6响应消息 266

附录B XNA数学库 269

B.1编译指令 269

B.2常量 269

B.3宏命令 270

B.4结构和类型 271

B.5函数 273

B.5.1颜色函数 273

B.5.2转换函数 274

B.5.3标量函数 274

参考文献 276

相关图书
作者其它书籍
返回顶部