基于Visual C#的DirectX开发实例——第一个DirectX程序

本文指导您通过创建VisualC#项目、添加窗体和引用、定义全局变量与初始化函数,最终实现基本DirectX程序的运行。

三、第一个DirectX程序

1、新建项目

新建一个Visual C#空项目,设置其项目名称为“第一个DirectX程序”,如下图所示:

2、新建项

在解决方案资源管理器中选择项目名称并点击右键,选择“添加——新建项”来添加一个新的文件,如下图所示:

3、添加窗体

在弹出的“添加新项”窗体上选择“Windows 窗体”模板,然后在名称后输入“BasicForm.cs”,点击“添加”按钮完成添加,如下图所示:

4、添加引用

在主菜单上选择“项目——添加引用”,然后在.NET中添加Microsoft.DirectXMicrosoft.DirectX.Direct3DMicrosoft.DirectX.Direct3DX,如下图所示:

打开BasicForm窗体的代码,为其添加DirectX引用,如下:

using Microsoft.DirectX;

using Microsoft.DirectX.Direct3D;

5、定义全局变量

首先介绍一下Device类,Device类用于完成DirectX里所有绘图操作,我们可以把这个类假想为图形卡,场景里所有其他图形对象都依赖于Device,计算机里可以有多个Device对象。所以在全局变量中定义一个绘图设备,如下代码:

Device device = null;//定义绘图设备

6、设置窗体初始状态

设置BasicForm窗体的初始状态即更改BasicForm的构造函数,如下代码:

public BasicForm()

{

this.ClientSize = new Size(800, 600);//指定窗体尺寸

this.Text = "第一个DirectX程序";//指定窗体标题

}

7、定义初始化函数

定义初始化函数InitializeDirect3D(),它将告诉绘图设备如何去渲染到屏幕上以及一些异常的处理,如下代码:

public bool InitializeDirect3D()

{

try

{

PresentParameters presentParams = new PresentParameters();

presentParams.Windowed = true; //指定以Windows窗体形式显示

presentParams.SwapEffect = SwapEffect.Discard; //当前屏幕绘制后它将自动从内存中删除

device = new Device(0, DeviceType.Hardware, this, CreateFlags.SoftwareVertexProcessing, presentParams); //实例化device对象

return true;

}

catch (DirectXException e)

{

MessageBox.Show(e.ToString(), "Error"); //处理异常

return false;

}

}

8、定义渲染函数

渲染函数Render()将告诉绘图设备渲染哪些内容,如下定义:

public void Render()

{

if (device == null) //如果device为空则不渲染

{

return;

}

device.Clear(ClearFlags.Target, Color.DarkSlateBlue, 1.0f, 0); //清除windows界面为深蓝色

device.BeginScene();

//在此添加渲染图形代码

device.EndScene();

device.Present();

}

9、定义程序入口

定义Main函数作为程序入口,如下代码:

static void Main()

{

BasicForm basicForm = new BasicForm(); //创建窗体对象

if (basicForm.InitializeDirect3D() == false) //检查Direct3D是否启动

{

MessageBox.Show("无法启动Direct3D", "错误!");

return;

}

basicForm.Show(); //如果一切都初始化成功,则显示窗体

while (basicForm.Created) //设置一个循环用于实时更新渲染状态

{

basicForm.Render(); //保持device渲染,直到程序结束

Application.DoEvents(); //处理键盘鼠标等输入事件

}

}

10、设置运行方式

打开项目属性,在输出类型下选择“windows应用程序”,如下图所示:

运行程序,其结果如下图所示:

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值