[原创]Managed DirectX 基础使用教程(零)
hangtao_me@yahoo.com.cn
由于下学期的毕业设计,最近开始研究起了.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
以上软件都是免费的...
关于作者:
欢迎联系我:hangtao_me@yahoo.com.cn
寒假到了,又闲了。每天除了玩电脑就是托福单词。哎...老妈居然让我定个每天的计划表,晨跑啊之类的。我对那东西是完全免疫的。本想回来抽时间看阿凡达的,NND,没想到等我回来真的停映了。昨天个老弟过了生日,挺热闹的。
序
[原创]Managed DirectX 基础使用教程(零)相关推荐
- python零基础入门教程-零基础入门Python爬虫不知道怎么学?这是入门的完整教程...
原标题:零基础入门Python爬虫不知道怎么学?这是入门的完整教程 这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源.看着文章,打开电脑 ...
- 下载python教程-零基础Python教程全集下载.pdf
您所在位置:网站首页 > 海量文档  > 计算机 > Python 零基础Python教程全集下载.pdf3页 本文档 ...
- ue5新手零基础学习教程 Unreal Engine 5 Beginner Tutorial - UE5 Starter Course
ue5新手零基础学习教程 Unreal Engine 5 Beginner Tutorial - UE5 Starter Course! 教程大小解压后:4.96G 语言:英语+中英文字幕(机译)时长 ...
- python怎么输出浮点数_python 零基础入门教程第 2 章:基本数据类型 (一)
一.什么是数据类型 编程语言通过一些复杂的计算机物理底层机制,创造不同类型的数据,用来表示现实世界中的不同信息,以便于计算机更好的存储和计算. 每种编程语言都会有一些基本的数据类型用来表示现实世界中的 ...
- Wireshark零基础使用教程(超详细)
「作者主页」:士别三日wyx 「作者简介」:CSDN top100.阿里云博客专家.华为云享专家.网络安全领域优质创作者 「专栏简介」:此文章已录入专栏<网络安全快速入门> Wiresha ...
- sql数据库教程百度云_【推荐】零基础水彩画入门教程|零基础水彩教程百度云...
零基础水彩画入门教程|零基础水彩教程百度云! 照着教程画却总是画不好,这些水彩技法你真的学会了吗? 盲目地照着葫芦画瓢,不懂控制确实很难学会,可以关注一下公众号:每日学绘画,可以领取水彩电子书和全套视 ...
- 视频教程-Python零基础入门教程-Python
Python零基础入门教程 从2012年从事互联网至今有7年软件编程经验,曾任职国内北京互联网公司,中南林业大学授课Python 现任逻辑教育Python课程负责人,精通Python语言,精通人工智能 ...
- SEO零基础入门教程(外链的发布和软文编写)
seo的作用是众所周知的,对网站进行seo优化,可以给网站带来大量的搜索引擎流量.但是想要做好网站优化也有难度,尤其是对于seo新手来说,因为缺乏理论和实战,所以seo新手需要多加练习.那么具体seo ...
- 九宫怎么排列和使用_剪映零基础入门教程第三十七篇:一学就会系列之九宫格小程序配音...
很多玩儿抖音的朋友都看过九宫格视频,但是并不是每个玩抖音的人都会制作这个九宫格视频,实际这个需要借助小工具来帮忙,而常用抖音的朋友们会对剪映更加熟悉一些,且九宫格视频在剪映内的制作方式则比较简单.那么 ...
最新文章
- legend位置 pyecharts_实验|pyecharts数据可视化分析-1
- JButton类,简单应用
- mockmvc get请求 tm的 一直404_面试:SpringMVC在接收到请求后的调用细节是什么?
- javascript按字节截取标题中字符串
- Java实现单链表的合并(保证数据的有序性)
- ASP.NET Core中的OWASP Top 10 十大风险-失效的访问控制与Session管理
- python 接收邮件服务器地址_Python 用IMAP接收邮件
- jieba分词 ‘float‘ object has no attribute ‘decode‘ 解决方法
- batch入门教程(3)
- Redis执行monitor命令报错 (error) NOAUTH Authentication required.
- xUtils3 联网模块
- 第四次作业——04树
- 【STM32F429的DSP教程】第1章 初学数字信号处理准备工作
- blast的替代品,使用hmmer寻找同源序列
- 互联网行业定制网站需要多少钱
- Android手账本案例
- The nested type test2 cannot hide an enclosing type
- 微pe工具箱+软碟通 制作 U盘启动盘
- android地图画线,绘制折线-在地图上绘制-开发指南-Android 轻量版地图SDK | 高德地图API...
- Win10频繁提示“USB端口上的电涌”