|

楼主 |
发表于 2004-7-23 13:28:00
|
显示全部楼层
Re:给自己的书做一个广告:《DirectX 9 3D图形程序设计》
前一阵子工作太忙,一直没什么空。
目录如下:
第1部分 Direct3D入门 18
第1章 DirectX 3D简介 20
1.1 什么是DirectX和Direct3D 20
1.1.1 DirectX 20
1.1.2 DirectX SDK 20
1.2 基于COM的DirectX 22
1.2.1 什么是COM对象 22
1.2.2 AddRef()和Release() 24
1.3 小结 25
第2章 一个简单的Direct3D程序 26
2.1 创建一个Windows窗口 28
2.1.1 对WNDCLASS类赋值并注册 29
2.1.2 创建窗口 31
2.2 初始化Direct3D程序 33
2.2.1 创建Direct3D对象并得到Direct3D接口 34
2.2.2 查询显示卡的显示模式GetAdapterDisplayMode() 35
2.2.3 创建Direct3D设备对象并得到Direct3D设备接口 37
2.3 处理消息循环 41
2.4 图形显示 42
2.4.1 IDirect3DDevice9::Clear()函数 42
2.4.2 BeginScene()和EndScene() 44
2.4.3 IDirect3DDevice9: resent()函数 45
2.5 结束Direct3D程序 46
2.6 一个简单的Direct3D范例程序 47
2.7 小结 51
第3章 几何模型显示 52
3.1 3D坐标系 52
3.2 Direct3D基础图形表示 54
3.3 使用顶点缓冲区绘制图形 59
3.3.1 创建顶点缓冲区(IDirect3DDevice9::CreateVertexBuffer()) 60
3.3.2 顶点缓冲区图形显示 64
3.4 使用索引缓冲区绘制图形 72
3.5 小结 82
第4章 3维坐标变换 83
4.1 Direct3D顶点坐标变换和光照流水线概述 83
4.2 模型几何变换 87
4.2.1 平移(Translate) 87
4.2.2 旋转(Rotate) 89
4.2.3 缩放(Scale) 90
4.2.4 复合变换 91
4.3 取景变换 93
4.4 投影变换 94
4.4.1 正交投影 95
4.4.2 透视投影 97
4.5 视区变换 98
4.5.1 视区(D3DVIEWPORT9结构) 99
4.5.2 IDirect3DDevice9::SetViewport() 99
4.6 3维坐标变换程序范例 101
4.7 获得Direct3D坐标变换矩阵 110
4.8 小结 111
第5章 光照 112
5.1 3种不同的光照计算模型 112
5.1.1 环境光(Ambient Light) 112
5.1.2 漫反射(Diffuse Reflection) 113
5.1.2 镜面反射(Specular Reflection) 114
5.2 Direct3D支持的光源类型 115
5.2.1 光源类型 116
5.2.3 光源属性 118
5.3 设置物体表面材质属性 120
5.4 Direct3D中设置光照 122
5.4.1 激活光照运算 122
5.4.2 设置物体表面材质 122
5.4.3 设置方向光、点光源或者聚光灯 122
5.4.4 在多边形顶点信息中增加法线向量 125
5.5 光照程序范例 125
5.6 小结 134
第6章 纹理 135
6.1 基本纹理概念 135
6.1.1 纹理位图 135
6.1.2 纹理坐标:(u,v)坐标 135
6.1.3 分配纹理坐标 136
6.2 Direct3D纹理绘制过程 137
6.2.1 载入纹理 138
6.2.2 分配顶点纹理坐标 143
6.2.3 设置当前渲染纹理IDirect3DDevice9::SetTexture() 144
6.2.4 设置纹理渲染状态IDirect3DDevice9::SetTextureStageState() 145
6.2.5 渲染顶点缓冲区 147
6.3 纹理采样属性 153
6.3.1 纹理过滤(Texture Filtering) 153
6.3.2 纹理寻址(Texture Address) 159
6.4 DXT纹理压缩 164
6.4 小结 166
第2部分 Direct3D进阶 167
第7章 使用DirectX数据文件绘制复杂3维模型 169
7.1 将3维模型输出为Direct3D数据文件 170
7.2 在Direct3D程序中载入X文件 174
7.2.1 Direct3D多边形网格(ID3DXMESH) 174
7.2.2 载入X文件并生成多边形网格 176
7.3 绘制Direct3D多边形网格 180
7.4 小结 182
第8章 Direct3D图形绘制技巧 183
8.1 深度测试 183
8.2 Alpha混合 186
8.3 Alpha测试 194
8.4 多边形填充模式 195
8.5 Flat渲染和Gouraud渲染 198
8.6 图形反锯齿 199
8.7 小结 203
第9章 雾化 204
9.1 雾化计算方法 204
9.2 创建雾化效果 206
9.2.1 激活雾化处理 206
9.2.2 设置雾化计算公式 206
9.2.3 设置雾化参数 207
9.3 基于发散的雾化效果 208
9.4 小结 209
第10章 高级纹理应用 212
10.1 多层纹理映射 212
10.2 纹理坐标自动生成 226
10.3 凹凸纹理映射 236
10.3.1 凹凸纹理像素格式 237
10.3.2 查询是否支持凹凸纹理 241
10.3.3 凹凸纹理状态设置 242
10.3.4 凹凸纹理计算 244
10.3.5 凹凸纹理范例 245
10.4 小结 246
第11章 在Direct3D中显示2维字体 247
11.1 使用ID3DXFont显示字体 247
11.1.1 D3DXCreateFont() 247
11.1.2 ID3DXFont: rawText() 248
11.1.3 其它相关的ID3DXFont接口函数 250
11.2 小结 251
第3部分 深入了解Direct3D 252
第12章 使用模板缓冲区 254
12.1 模板缓冲区 255
12.1.1 创建模板缓冲区 256
12.1.2 清除模板缓冲区 258
12.3 设置模板缓冲区状态参数 259
12.2 使用模板缓冲区创建特殊效果 262
12.2.1 图像合成 262
12.2.2 贴花效果 263
12.2.3 消融、淡入淡出和滑入效果 263
12.2.4 轮廓线和侧影效果 263
12.3 阴影 264
12.4 小结 281
第13章 顶点渲染 282
13.1 顶点渲染基本步骤 284
13.1.1 查询顶点渲染版本 284
13.1.2 创建顶点缓冲区以及顶点声明对象 284
13.1.3 创建顶点渲染对象 287
13.1.4 设置顶点渲染函数,绘制图元 291
13.1.5 程序范例 293
13.2 顶点渲染指令简介 301
13.3 顶点渲染寄存器 307
13.4 顶点渲染寄存器控制 308
13.4.1 目标寄存器元素屏蔽(Masking) 308
13.4.2 源寄存器元素替换(Swizzling) 309
13.4.3 源寄存器修改符(Source Modifiers) 310
13.5 顶点渲染范例1 坐标变换 310
13.6 顶点渲染范例2 光照与纹理映射 315
13.7 小结 325
第14章 像素渲染 326
14.1 像素渲染简介 327
14.1.1 查询像素渲染版本 328
14.1.2 创建像素渲染指令 328
14.1.3 编译并载入像素渲染指令 329
14.1.4 创建像素渲染对象 331
14.1.5 执行像素渲染 332
14.2 像素渲染指令简介 332
14.2.1 版本声明指令 332
14.2.2 常量定义、寄存器声明指令 333
14.2.3 像素渲染处理指令 334
14.2.4 像素输出指令 336
14.3 像素渲染寄存器 337
14.4 像素渲染指令控制 338
14.4.1 指令修改符(Instruction Modifier) 338
14.4.2 源寄存器修改符(Source Modifiers) 338
14.4.3 目标寄存器元素屏蔽(Masking) 339
14.4.4 源寄存器元素替换(Swizzling) 339
14.5 像素渲染范例1 模拟夜视图像 340
14.6 像素渲染范例2 351
14.7 小结 351
|
|