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)绘制图形结果,如下图所示:
最后,在此非常感谢肖泽云师兄对我的无私的帮助和指导。