利用DirectX 9.0 三维重力坝体型设(一)挡水坝段绘制

来源:互联网 发布:迦南诗歌软件 编辑:程序博客网 时间:2024/04/29 06:04

     DirectX是微软公司开发的用于图形、多媒体和游戏开发的主要工具。它是基于计算机硬件底层的图形开发,对于处理三维图形具有自由的操作性。

     在水工CAD三维模型制作主要采用的软件有AutoCAD二次开发的ObjectARX、CTCA等。由于本人处在初级学习阶段,本文只做一点开发心得和总结,方便以后翻阅,不做他用。

 

本人采用C#语言和Visual Studio2010 开发工具和DirectX 9.0,主要的步骤如下:

(1)大多数的网上的论坛介绍在开发过程中需要安装DirectX,其实并不需要安装。我们在新建项目后,直接添加directx的三个引用即可(Microsoft.DirectX.Direct3D.dll,Microsoft.DirectX.Direct3DX.dll和Microsoft.DirectX.dll)大家可以到下面网址下载:

http://download.csdn.net/source/3193840

(2)准备工作已经做好,为了实现通过输入参数控制图形绘制的目的,需采用参数化绘图技术。在这里我们首先,新建一个windowsform项目;然后,在此项目中添加一个DrawForm用于图形的绘制和显示。

(3)在DrawForm中,添加Public 类型的初始化函数、渲染函数、摄像机设置函数和材质定义函数;

(4)绘图的基本步骤在(3)中已经定义完成,接着本人采用Mesh网格绘制图元的方法绘制。首先要定义挡水坝段的各个顶点索引,然后定义各个顶点(注意,在定义顶点时,绘制三角形的法线方向应向外)

(5)调用WindowsForm中的输入参数,然后在初始化函数定义绘制函数即可;(注意,最好不要把顶点函数定义在WindowsForm中,容易出现不能渲染和应用程序中的错误)

(6)在Windowsform中的绘制图形按钮添加DrawForm的引用初始化和渲染函数即可,如下:

 DrawForm drawForm=new DrawForm();

drawFrom.initilizeD3D();

drawFrom.render();

drawFrom.Show();

(7)绘制图形结果,如下图所示:

最后,在此非常感谢肖泽云师兄对我的无私的帮助和指导。

 

原创粉丝点击