上传者: xwebsite
|
上传时间: 2021-11-12 06:07:21
|
文件大小: 13.91MB
|
文件类型: -
DirectX 是开发三维场景的利器,也是目前大多三维游戏采用的开发平
台。国内外关于 DirectX 开发的书籍不是非常多,而且大多数书籍都是针对
Visual C++语言来介绍的。在安装 DirectX SDK 时可以选择安装例子和教程,
微软为开发者提供了许多较为实用的例子供大家学习。本文结合计算机三维图
形学和 DirectX 的开发帮助,并参考国内外关于 DirectX 开发的书籍和网站资
料等,主要介绍如何采用Visual C# 语言对DirectX进行三维图形开发。本文
共分十六章,以“由易到难、由简单到复杂”为主线,以介绍 DirectX 开发方
法为主,并穿插介绍相关的计算机三维图形知识等。限于作者水平有限,文中
难免存在错误和缺点,敬请读者朋友不吝指正。
目 录
一、配置环境 1
二、DirectX 9.0 简介 2
三、第一个DirectX程序 3
1、新建项目 3
2、新建项 3
3、添加窗体 4
4、添加引用 4
5、定义全局变量 5
6、设置窗体初始状态 5
7、定义初始化函数 5
8、定义渲染函数 6
9、定义程序入口 6
10、设置运行方式 6
四、绘制一个三角形 8
五、摄像机基础 9
1、定义视图变换 9
2、定义投影变换 9
3、设置绘图设备投影及视图矩阵 10
4、绘制三角形 10
5、显示线框 13
六、输入事件 14
1、键盘输入 14
2、鼠标输入 15
七、二维显示 19
1、显示图片 19
2、二维图片动画 22
3、显示二维文字 23
八、矩阵应用 25
1、常用矩阵及算法 25
2、视图矩阵 27
3、透视投影矩阵 29
4、仿射投影矩阵 36
5、常用矩阵变换 38
九、四元数理论及其应用 42
1、四元数定义 42
2、四元数运算 42
3、四元数的共轭、矩、迹、模、倒数 42
4、四元数的三角形式 43
5、在三维计算机图形中的应用 44
十、摄像机变换 46
1、准备场景 46
2、旋转摄像机 53
3、通过键盘控制摄像机旋转 54
4、通过键盘控制摄像机缩放 57
5、通过鼠标控制摄像机旋转 59
6、通过鼠标滚轮控制摄像机缩放 60
7、通过鼠标控制摄像机移动 61
十一、地形 64
1、索引编号 64
2、规则三角网 67
3、通过高度图生成三角网 69
4、地形贴图 70
5、设置深度缓冲 72
十二、三维显示控件设计 75
1、准备工作 75
2、上一视图与下一视图 85
3、附视图、左视图及前视图的实现 86
4、常用浏览功能 89
5、工具栏控件 92
十三、绘制基本图元 99
1、绘制离散点 100
2、绘制分段直线 102
3、绘制折线 103
4、绘制独立三角形 104
5、绘制扇形三角形 106
6、绘制三角形带 107
7、四种绘制图元方法比较 109
8、绘制六面体 120
9、绘制球体 123
10、绘制圆 128
11、绘制圆锥 134
12、绘制圆柱 139
十四、Mesh网格 146
1、创建基本几何体网格 146
2、使用构造函数创建网络 150
3、从文件导入网格 156
4、导入X文件的网格贴图 156
5、将网格导出为X文件 158
6、三维字体 159
7、子集、属性、邻接、复制 160
8、渐进网格 163
9、世界矩阵 165
十五、碰撞检测 168
1、包围体 168
2、点击射线 174
3、拾取对象 176
十六、材质、贴图与灯光 182
1、材质 182
2、贴图 184
3、灯光 190