什么是DirectX

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/DY_1024/article/details/86747936

因为最近一直在看DirectX9的有关基础,以此来熟悉一下基础的游戏开发概念,但是基础的概念熟悉了,有关的发展信息也是要熟悉一下,但是一直很模糊,相信初次接触游戏开发的朋友有听过DX,OpenGL,Metal 3D等,但是又不是很清楚他们之间的区别和联系,最近在某乎看到一个回答,觉得很不错,和大家分享一下。

1、DirectX 是什么?
OpenGL,直译过来就是,开放的图形库(Open Graphic Library)。如其名,它的作用,就是绘制图形,除此之外都不做。
OpenGL是跨平台的,windows、Mac、Linux、iOS、Android等等大家都能用。但所谓泛而不精,微软为了更好的性能,开发出了一套“专门适配windows平台的OpenGL",名为DirectX。同理,苹果也开发出了一套专门适配Mac和iOS平台的OpenGL”,名为Metal 3D。

2、在游戏开发中常用吗?
游戏开发中,常用,或者说必用。
游戏开发是什么?无非就是根据一定的逻辑,给予玩家一定的反馈。这种反馈,大部分是视觉上,例如按钮点下出现的阴影,释放技能产生的特效。也可以是听觉的反馈(音乐音效),触觉的反馈(手柄或手机的震动)等等。那么用DirectX(或其他图形库)去实现视觉上的反馈,完成游戏,当然是最常用的。

3、如果用directX 配合微软的visual studio ,不借助其他引擎,能否完成一个游戏编程方面的工作。(和其他引擎有什么区别?)
这两个其实是一个问题。
由2的回答,题主应该知道了,单纯用DirectX可以完成视觉上的反馈,如果自己再加上一些音乐音效播放的库,通过代码逻辑的迭代,便足以组装出一个游戏了。
但,游戏是仅仅这么简单么?
也许你要模拟一个大雪的场景,你可能用DirectX画出一个雪花,然后让他们在屏幕的随机坐标出现,并设置一定的速度让他们缓缓落下。完成并调整好这个效果,你可能需要一天的时间,但如果你知道,这叫做粒子系统,并且在大部分游戏引擎中已经实现,那么这只需要一分钟的时间即可完成。

如果把游戏引擎比作绘画,那其中部件可大致分为三类,
第一类,相当于颜料中的三原色,DirectX等图形库,OpenAL等音乐库,键盘、触摸屏或手柄的输入控制,他们是最基础的组成部分。
第二类,相当于形形色色的颜料,如前面提到粒子系统、如精灵、视差层、地图刷等部件,虽然它们可通过三原色调制出来,但由于实在过于常用,便集成进了游戏引擎里。
第三类,相当于颜料盘、画笔等等,它用于辅助游戏的完成。例如事件分发系统、定时器系统等,可简化在编程过程中的代码逻辑。

游戏引擎是一套完整完善的游戏开发解决方案,而DirectX,是一个图形处理库,属于游戏引擎中的一部分。

作者:张三华
链接:https://www.zhihu.com/question/25246101/answer/30298052

猜你喜欢

转载自blog.csdn.net/DY_1024/article/details/86747936
今日推荐