《基于Visual C# 的DirectX开发实例》目录

基于Visual C# DirectX开发实例

三峡大学水利与环境学院  肖泽云

 

DirectX是开发三维场景的利器,也是目前大多三维游戏采用的开发平台。国内外关于DirectX开发的书籍不是非常多,而且大多数书籍都是针对Visual C++语言来介绍的。在安装DirectX SDK时可以选择安装例子和教程,微软为开发者提供了许多较为实用的例子供大家学习。本文结合计算机三维图形学和DirectX的开发帮助,并参考国内外关于DirectX开发的书籍和网站资料等,主要介绍如何采用Visual C# 语言对DirectX进行三维图形开发。本文共分十六章,以“由易到难、由简单到复杂”为主线,以介绍DirectX开发方法为主,并穿插介绍相关的计算机三维图形知识等。限于作者水平有限,文中难免存在错误和缺点,敬请读者朋友不吝指正。

肖泽云 

20103

 

 

注意文中对应的例子文件存放在Project文件夹中,Media文件夹中的文件为各例子可能要用到资源文件(如图片、模型等)。如果读者不想安装DirectX SDK,而又需要运行程序,请安装DirectX Runtime或直接将Project文件夹下的CommonDLL文件夹中的文件复制到运行程序的同目录下,如复制CommonDLL文件夹中的所有文件到“/Project/04绘制一个三角形/绘制一个三角形/bin/Debug”目录下,即可运行和开发程序。

 

 

 

作者联系地址:湖北省宜昌市三峡大学水利与环境学院

邮编:443002

Email: xwebsite@163.com

QQ : 289700062

 


 

一、配置环境... 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

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值