`
peizhiinfo
  • 浏览: 1425070 次
文章分类
社区版块
存档分类
最新评论

基于Visual C#的DirectX开发实例——第一个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应用程序”,如下图所示:

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

分享到:
评论

相关推荐

    基于Visual C#的DirectX开发实例

    基于Visual C#的DirectX开发实例,教程,程序等大全

    基于Visual C# 的DirectX开发实例

    料等,主要介绍如何采用Visual C# 语言对DirectX进行三维图形开发。本文 共分十六章,以“由易到难、由简单到复杂”为主线,以介绍DirectX 开发方 法为主,并穿插介绍相关的计算机三维图形知识等。

    基于Visual C#的DirectX开发实例.rar

    本文结合计算机三维图形学和DirectX的开发帮助,并参考国内外关于DirectX开发的书籍和网站资料等,主要介绍如何采用Visual C# 语言对DirectX进行三维图形开发。本文共分十六章,以“由易到难、由简单到复杂”为主线...

    Visual C#的DirectX开发实例.docx

    本文结合计算机三维图 形学和 DirectX 的开发帮助,并参考国内外关于 DirectX 开发的书籍和网站资 料等,主要介绍如何采用 Visual C# 语言对 DirectX 进行三维图形开发。本文 共分十六章,以“由易到难、由简单到...

    Visual C#使用DirectX实现视频播放

    Visual C#使用DirectX实现视频播放

    \Visual C#使用DirectX实现视频播放

    \Visual C#使用DirectX实现视频播放 很不错哦 希望笑纳啊

    三维显示控件设计源码(基于DirectX和Visual C#)

    三维显示控件设计源码(基于DirectX和Visual C#):包含一个控件库项目和程序测试项目,控件库中有一个三维显示控件,一个用于控制三维显示的工具栏!

    三维显示控件设计详解(基于Visual C#和DirectX)

    该控件包含摄像机的常用变换(如移动、旋转、缩放等),通过设置地形图的高度图和地形贴图即可生成一个三维地形,同时创建一个工具栏用于操作这个三维控件,所以整个控件设计包括两个部分:第一部分是三维显示控件;...

    Visual Studio 2010安裝 DirectX(介紹)

    Visual Studio 2010安裝 DirectX(介紹)

    Visual C#中使用DriectX实现媒体播放

    Visual C#中使用DriectX实现媒体播放 一定要安装并引用DriectX SDK 和using Microsoft.DirectX.AudioVideoPlayback ;

    来自 Frank D. Luna 的“ Direct3D 12.0 3D游戏编程简介”一书中的 DirectX 12 C#示例

    这些示例将使用 Visual Studio 2015+ 进行编译,并在具有 DirectX 12 功能的图形硬件的 Windows 10 上运行。 样品 样本名称的数字前缀表示其在书中对应的章节。 更多详情、使用方法,请下载后阅读README.md文件

    Visual C#编写3D游戏框架代码实例介绍

    由于DirectX SDK 2004年夏季更新包含了一个牢固的示例框架组件,并且它被设计成能在你自己的代码中直接使用,同时还为你处理了很多事务,所以你只要简单的使用它,就可以节省大量的时间和精力。  本文中的例子使用...

    vc++ 开发实例源码包

    请求的长度在第一个INT中指定. 2) 每个服务器通常会向多种客户提供服务, 例如, TS要同时向CP, NP提供服务, CP要向NP和其他CP提供服务, 同时还是其他CP, TS, SP的客户. 3) 每个服务器为客户服务时, 通常是长期的, 会...

    c# directshow 视频捕捉 源码

    c# directx 视频捕捉源码,在 visual studio 2008 上测试通过

    wpf编程宝典c#2010版pdf(全)1/3包,共118M

    第1章 WPF概述  1.1 Windows图形演化  1.1.1 DirectX:新的图形引擎  1.1.2 硬件加速与WPF  1.2 WPF:高级API  1.2.1 Windows窗体将继续保留  1.2.2 DirectX也将继续保留  1.2.3 Silverlight  1.3 分辨率...

    C#开发必备

    实验1 Visual Studio 2010的安装、配置及应用 实验目的:掌握Visual Studio 2010的安装方法和安装配置选项 实验课时:2课时 实验内容: (1)安装Visual Studio 2010中文版。 (2)安装Visual Studio 2010 MSDN。 ...

    Visual FoxPro 9.0多媒体三维图形编程(可执行VFP9代码的电子书)

    OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库。 OpenGL不是语言,是专业的图形程序接口。现在Windows系统的主流编译环境有Visual C++/C#,Broland C++ Builder,Dev-C++等,它们都是支持...

Global site tag (gtag.js) - Google Analytics