-
精通DirectX.3D图形与动画程序设计.王德才.part1下载
资源介绍
第一部分 基础篇
第1章 DirectX与Direct3D简介
1.1 什么是DirectX和Direct3D
1.2 DirectX的发展历史
1.3 DirectX9.0的安装与配置
1.3.1 DirectX9.0的安装
1.3.2 选择调试或发布库
1.3.3 在VisualStudio.NETIDE中配置DirectX
1.3.4 浏览DirectXSDK示例程序
1.4 DirectX功能组件
1.5 DirectX的几种开发方式
1.6 小结
第2章 Direct3D程序设计基础
2.1 相关基础知识
2.2 Direct3D体系结构
2.3 Direct3D对象
2.4 Direct3D设备对象
2.4.1 Direct3D设备类型
2.4.2 创建Direct3D设备对象
2.5 Direct3D程序基本结构
2.6 最简单的Direct3D程序
2.6.1 工程项目和开发环境设置
2.6.2 创建窗口
2.6.3 初始化Direct3D
2.6.4 消息循环
2.6.5 渲染图形
2.6.6 结束Direct3D程序
2.7 Direct3D设备对象深入探讨
2.8 Direct3D表面
2.9 小结
第3章 坐标系与基本图元
3.1 Direct3D坐标系
3.2 Direct3D基本图元
3.3 使用顶点缓冲区绘制图形
3.3.1 创建顶点缓冲区
3.3.2 渲染顶点缓冲区图形
3.3.3 各种基本图元绘制
3.4 使用索引缓冲区绘制图形
3.5 图形渲染其他相关内容
3.5.1 灵活顶点格式
3.5.2 渲染状态
3.5.3 场景提交
3.5.4 图形反锯齿(antialiasing)
3.5.5 全屏幕显示
3.6 Direct3D中的颜色表示
3.7 资源的概念
3.8 小结
第4章 顶点坐标变换
4.1 顶点坐标变换和光照流水线概述
4.2 矩阵类型及其操作
4.3 世界变换
4.4 取景变换
4.5 投影变换
4.6 视区变换
4.7 获取Direct3D坐标变换矩阵
4.8 三维坐标变换示例程序
4.9 小结
第5章 光照与材质
5.1 光照计算模型
5.2 光源
5.2.1 光源类型
5.2.2 光源属性
5.2.3 设置灯光
5.2.4 对光源的几点说明
5.3 材质
5.3.1 设置材质
5.3.2 获取材质属性
5.4 光照和材质示例程序
5.4.1 简单光照示例程序
5.4.2 多光源光照示例程序
5.4.3 使用灯光的几点说明
5.5 深入理解光照计算模型
5.6 小结
第6章 纹理映射基础
6.1 基本概念
6.2 使用纹理
6.3 纹理过滤方式
6.3.1 最近点采样
6.3.2 线性纹理过滤
6.3.3 各项异性纹理过滤
6.3.4 多级渐进纹理过滤
6.3.5 纹理过滤方式示例程序
6.4 纹理寻址模式
6.4.1 重叠纹理寻址模式
6.4.2 镜像纹理寻址模式
6.4.3 夹取纹理寻址模式
6.4.4 边框颜色纹理寻址模式
6.4.5 纹理寻址模式示例程序
6.5 纹理阶段混合状态
6.5.1 纹理阶段混合状态设置
6.5.2 纹理阶段混合状态示例程序
6.6 纹理包装
6.7 小结
第7章 使用文件模型
7.1 三维模型基础
7.2 模型文件格式转换
7.2.1 dsMax制作的模型转换为.X文件模型
7.2.2 Maya制作的模型转换为.X文件模型
7.3 在Direct3D程序中载入模型
7.3.1 网格模型接口ID3DXMESH
7.3.2 载入.X文件并生成网格模型
7.4 渲染网格模型
7.5 三维模型旋转
7.5.1 通过矩阵实现模型旋转
7.5.2 通过四元数实现模型旋转
7.6 使用文件模型的几点提示
7.7 小结
第8章 深度测试与Alpha混合
8.1 深度测试
8.1.1 深度缓冲区与深度测试
8.1.2 使用深度测试
8.2 半透明物体的绘制
8.2.1 Alpha混合原理
8.2.2 利用Alpha混合实现半透明效果
8.2.3 Alpha混合系数
8.3 Alpha测试
8.3.1 Alpha测试原理
8.3.2 使用Alpha测试
8.4 小结
第9章 雾化
9.1 雾化效果实现原理
9.2 雾化混合因子计算方法
9.3 顶点雾化与像素雾化
9.3.1 顶点雾化与基于范围的雾化
9.3.2 像素雾化和与眼相关深度雾化
9.4 为场景添加雾化效果
9.4.1 顶点雾化示例程序
9.4.2 像素雾化示例程序
9.4.3 基于范围的雾化示例程序
9.5 对雾化效果的几点说明
9.6 小结
第10章 字体与文本显示
10.1 二维文本绘制
10.2 三维文本绘制
10.3 小结
第二部分 高级技术篇
第11章 应用程序框架
11.1 生成一个Direct3D程序框架
11.2 使用Direct3D程序框架
11.3 Direct3D程序框架剖析
11.3.1 DXUT简介
11.3.2 初始化DXUT
11.3.3 DXUT框架与应用程序窗口
11.3.4 DXUT框架与Direct3D设备
11.3.5 DXUT框架与消息循环
11.3.6 DXUT框架与错误处理
11.3.7 通过DXUT选择高级设备
11.3.8 其他DXUT函数
11.4 添加文本
11.4.1 初始化ID3DXSprite和ID3DXFont对象
11.4.2 绘制文本
11.4.3 处理键盘消息
11.5 添加控件
11.5.1 初始化对话框
11.5.2 渲染控件
11.5.3 处理控件消息
11.5.4 释放对话框
11.6 小结
第12章 高级纹理技术
12.1 多层纹理映射
12.2 纹理阶段混合操作
12.2.1 黑暗映射
12.2.2 黑暗贴图动画
12.2.3 混合纹理与材质漫反射颜色
12.2.4 混合黑暗贴图与材质漫反射颜色
12.2.5 发光映射
12.2.6 细节映射
12.2.7 Alpha混合操作
12.3 纹理坐标处理
12.3.1 纹理坐标自动生成
12.3.2 纹理坐标变换
12.4 环境纹理映射
12.4.1 立方体环境映射
12.4.2 球形环境映射
12.5 凹凸纹理映射
12.6 立体纹理
12.7 纹理压缩
12.7.1 DXT纹理压缩格式
12.7.2 使用DXT压缩纹理
12.8 纹理管理
12.9 小结
第13章 网格模型高级技术
13.1.X文件格式分析
13.1.1 首部
13.1.2 网格
13.1.3 网格材质列表
13.1.4 法向量
13.1.5 纹理
13.1.6 框架和变换矩阵
13.1.7 动画
13.1.8 蒙皮信息
13.2 网格模型优化
13.2.1 网格模型优化函数
13.2.2 网格模型优化方式
13.2.3 示例程序OptimizedMesh具体实现
13.3 层次细节网格模型
13.3.1 生成层次细节网格模型前的准备工作
13.3.2 生成层次细节模型
13.3.3 示例程序ProgressMesh的具体实现
13.4 增强网格模型
13.4.1 增强网格模型的生成
13.4.2 示例程序EnhancedMesh的具体实现
13.5 渐变网格模型
13.5.1 实现渐变网格模型的准备工作
13.5.2 生成渐变网格模型
13.5.3 渲染渐变网格模型
13.6 DXUT网格模型类
13.6.1 CDXUTMesh类
13.6.2 CDXUTMeshFrame类和CDXUTMeshFile类
13.6.3 使用类CDXUTMesh和CDXUTMeshFile渲染网格模型
13.7 骨骼动画网格模型
13.7.1 骨骼动画基本原理
13.7.2 骨骼动画类的设计与实现
13.7.3 骨骼动画类的使用
13.8 蒙皮骨骼动画网格模型
13.8.1 图形混合
13.8.2 索引顶点混合
13.8.3 顶点混合示例
13.8.4 蒙皮骨骼动画网格模型类的设计与实现
13.8.5 蒙皮骨骼动画网格模型类的使用
13.9 多骨骼动画网格模型
13.1 0其他文件格式模型
13.1 1小结
第14章 模板测试与模板缓冲区
14.1 模板测试
14.2 模板缓冲区
14.3 模板测试设置
14.4 使用模板测试实现特殊效果
14.5 实时阴影效果
14.6 小结
第15章 粒子系统
15.1 粒子系统技术简介
15.2 粒子系统基本原理
15.3 点精灵(pointsprites)
15.4 粒子系统具体实现
15.5 综合开发实例
15.6 小结
第三部分 GPU编程篇
第16章 Direct3DGPU编程概述
16.1 可编程流水线
16.2 顶点渲染
16.3 像素渲染
16.4 渲染语言
16.5 小结
第17章 高级渲染语言基础
17.1 数据类型
17.1.1 标准数据类型
17.1.2 向量
17.1.3 矩阵
17.1.4 复杂数据类型
17.2 表达式与运算符
17.3 语句
17.3.1 语句块
17.3.2 返回语句
17.3.3 流程控制语句
17.4 函数
17.5 段落
17.5.1 渲染器段落基本概念
17.5.2 渲染器段落语法
17.6 编写HLSL渲染器
17.6.1 添加文件
17.6.2 编写渲染器代码
17.7 小结
第18章 HLSL顶点渲染
18.1 HLSL顶点渲染基本步骤
18.2 使用HLSL顶点渲染实现基本光照模型
18.2.1 环境光光照模型
18.2.2 漫反射光照模型
18.2.3 镜面反射光照模型
18.3 小结
第19章 HLSL像素渲染
19.1 HLSL像素渲染基本步骤
19.2 使用HLSL实现基本纹理映射
19.3 渲染器的编译与调试
19.3.1 渲染器的编译
19.3.2 渲染器的调试
19.4 小结
第20章 效果(effect)
20.1 效果、技术与通道
20.1.1 效果和Direct3D流水线
20.1.2 保存和恢复状态
20.1.3 共享参数
20.2 编写效果
20.3 使用效果
20.4 效果示例程序
20.4.1 光照计算
20.4.2 纹理映射
20.4.3 多技术效果
20.4.4 参数块与共享参数
20.5 建立并渲染段落
20.5.1 从效果中建立并渲染段落
20.5.2 不通过效果建立并渲染段落
20.5.3 段落使用示例程序
20.6 小结
第21章 HLSL高级应用
21.1 自身遮蔽阴影
21.2 凹凸纹理映射
21.3 立方体环境映射
21.3.1 立方体贴图
21.3.2 反射环境映射
21.3.3 折射/反射环境映射
21.3.4 动态折射/反射环境映射
21.4 渐变动画
21.5 蒙皮骨骼动画
21.6 小结
第22章 ASM顶点渲染
22.1 ASM顶点渲染基本步骤
22.2 顶点声明对象
22.3 ASM顶点渲染简介
22.3.1 顶点渲染版本声明
22.3.2 顶点渲染寄存器
22.3.3 顶点渲染指令
22.4 ASM顶点渲染示例
22.4.1 光照计算
22.4.2 渐变动画
22.4.3 蒙皮骨骼动画
22.5 小结
第23章 ASM像素渲染
23.1 ASM像素渲染基本步骤
23.2 ASM像素渲染简介
23.2.1 版本声明
23.2.2 像素渲染寄存器
23.2.3 像素渲染指令
23.3 ASM像素渲染示例
23.4 使用效果
23.4.1 ASM效果
23.4.2 利用效果实现HLSL和ASM混合编程
23.5 小结
第四部分 实用技术篇
第24章 DXUT控件
24.1 DXUT控件介绍
24.2 DXUT控件使用示例程序
24.3 小结
第25章 广告板技术与十字交叉纹理
25.1 广告板技术
25.1.1 广告板技术介绍
25.1.2 广告板技术示例程序
25.2 十字交叉纹理
25.2.1 十字交叉纹理介绍
25.2.2 十字交叉纹理示例程序
25.3 小结
第26章 纹理动画
26.1 纹理动画原理
26.2 纹理动画示例程序
26.3 小结
第27章 自然现象模拟
27.1 动态云彩效果模拟
27.2 雨景效果模拟
27.3 雪景效果模拟
27.4 小结
第28章 三维地形模拟
28.1 三维地形模拟概述
28.2 三维地形模拟示例程序
28.3 小结
第29章 海浪效果模拟
29.1 使用纹理贴图实现海浪效果
29.2 实时生成海浪效果
29.3 小结