[原创]Managed DirectX 基础使用教程(零)

[email protected]

 

 

 

     由于下学期的毕业设计,最近开始研究起了.NET平台下的DirectX.本来是不打算用DirectX的,因为我不会DirectX - -||。但是DEMO出来后,发现用C#的GDI+绘图的效率是如此低下。最后不得不得硬着头皮上DirectX。而且是资料相对较少的Managed DirectX(托管版DX)。很多都是直接3D的,很难让像我这种刚接触DX的人读懂。于是就有了写这教程的想法,我也是是一边学习一边写的,也就是摸着石头过河,也是本人第一次写教程的东西。过一段时间就会更新的。

 

 

 

正文:

今天先说说什么是DirectX? 什么又是Managed DirectX?什么又是XNA?。

可能很多同学在安装游戏的时候都会被要求安装DirectX9.0c。没错DX(DirectX简称)就是微软专门为windows平台的图形或者游戏准备的。

当然我们一般平时下载的是DX runtime,并不是开发的DXSDK。

 

在很早很早以前,电脑游戏制作是非常麻烦的事。尤其是在DOS平台,有的甚至用汇编语言开发...为什么呢?第一,当时的程序语言并不发达。第二,涉及到图形的(当然不仅仅是图形方面),尤其是需要显卡加速的部分,程序员必须为不同的显卡去使用不同的I/O和中断。正因为如此,微软在推出了DirectX,它可以让windows为平台的游戏或多媒体程序获得更高的执行效率,加强3d图形和声音效果,并提供设计人员一个共同的硬件驱动标准,让游戏开发者不必为每一品牌的硬件来写不同的驱动程序,也降低用户安装及设置硬件的复杂度。

DX的历史也相当悠久,从当初的DX1到现在的DX11,目前XP上最高的版本是9.0C。

其实说白了 DX就是微软提供的windows平台上的多媒体处理的APIs,下面来看看他有哪些功能:

Microsoft Direct3D

主要提供了2D和3D图形的API。

Microsoft DirectSound

主要提供了声音的处理API,如播放,录音等等。

Microsoft DirectMusic

主要提供了数字音乐的处理API。

Microsoft DirectInput

主要提供了输入设备的API,如键盘,鼠标,手柄等。

Microsoft DirectPlay

主要提供计算机通讯联网的API。

Microsoft DirectShow

主要提供处理多媒体文件的API,如 avi,mpg等等。

 

以上就是对DX基本包含的API的概括。大家不了解也没关系,在以后的学习中我们会使用到的。

那么什么是Managed DirectX呢?

在微软推出的.NET平台语言中如果想使用DirexctX是非常麻烦和不安全的,因此2002年微软发布了.NET平台下的 DirectX ,也就是Managed DirectX(MDX)。当时是1.1版本。

也就是我们以后教程中用到的。

后来发布了2.0版本。至今还是测试版。至于为什么在XNA会说到。

那么什么是XNA呢?

上面说到为什么MDX一直2.0测试版。因为微软视乎已经放弃了MDX,而推出了的XNA可以说是MDX2.0正式版,但是又和MDX不同(原因大家可以去自己找找看)。XNA同时可以运用在PC XBOX XBOX360上面开发游戏。非常强大,但是比MDX学起来复杂,我个新手还是先学学MDX,以后再来学习强大的XNA咯。。哈哈

呵呵,今天就先写到这里啦!

预告:下一篇我们将会学习如何用MDX显示图片..hoho~

 

PS:我的开发环境:

Visual C#2008 EXPRESS

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=a22341ee-21db-43aa-8431-40be78461ee0

DirexctX sdk(包含了MDX版本)

http://www.microsoft.com/downloads/details.aspx?FamilyID=b66e14b8-8505-4b17-bf80-edb2df5abad4&displaylang=en

以上软件都是免费的...

关于作者:

欢迎联系我:[email protected]

寒假到了,又闲了。每天除了玩电脑就是托福单词。哎...老妈居然让我定个每天的计划表,晨跑啊之类的。我对那东西是完全免疫的。本想回来抽时间看阿凡达的,NND,没想到等我回来真的停映了。昨天个老弟过了生日,挺热闹的。

 

 

 

你可能感兴趣的:(原创教程)