DirectX有什么用?

Timeline上刷出这个问题,想起4年前我也问过学长类似的问题,便不请自来。

相关:游戏研发技术人员

首先说明,我没用过DirectX,只用过OpenGL,但相信题主已经在听说DirectX的同时也听说过OpenGL了。因此以下是以OpenGL的角度说的,DirectX存在一些细节差异。

回答题主的问题。

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,是一个图形处理库,属于游戏引擎中的一部分。

私货:

看题主的意思,我猜可能是打算不使用游戏引擎,自己开发一款游戏。我即不赞成也不反对,这可能会花费很多时间,并且对于刚接触游戏开发来说,难度不小。但这会是非常宝贵的经验。

我当年做的第一个游戏,也是自己完成,并且坚持不使用任何游戏引擎,连DX都没用,全用Windows API迭代的,很辛苦的一段时间,但是现在想想,非常难得。许多原理,是光用游戏引擎难以了解到的。

主 直通车 什么是 DirectX,为什么它对游戏很重要?

DirectX有什么用?
资料来源:微软

DirectX 于 1996 年首次亮相,它构成了 Windows 主导游戏的基础。当该功能首次在 Windows 95 上推出时,它允许游戏开发人员访问低级硬件功能,允许他们对游戏进行微调。

DirectX 很重要,因为没有它,游戏将无法访问 Windows 上的硬件。与像 Xbox One 这样的控制台(只有一个视频卡)不同,Windows 在硬件配置方面为您提供了多种选择。有预算范围内的选择 英伟达 GTX 1660 一直到 1,430 美元 GeForce RTX 2080 Ti 除了数百种主板和芯片组,您在构建新 PC 时还有无限的选择。


这让 PC 游戏开发人员更加困难,因为他们必须为各种配置微调设置和纹理。这就是 DirectX 派上用场的地方。该功能允许游戏直接与硬件“对话”,这使得游戏制造商可以更轻松地为每个配置提供优化设置。

到底什么是 DirectX?

来源:Windows 中心

DirectX 是一系列应用程序编程接口 (API),提供对硬件组件(如视频卡、声卡和内存)的低级访问。如果这听起来太复杂,让我们分解一下。在基本层面上,DirectX 允许游戏与视频卡“对话”。在 DOS 时代,游戏可以直接访问显卡和主板,您可以直接编辑配置文件进行更改。

但是在 Windows 95 中,作为安全措施,Microsoft 限制了对低级别硬件的访问。这意味着游戏无法再与低级硬件功能交互,这是一个问题。因此,为了促进这种访问,微软引入了 DirectX——将 DirectX 视为促进游戏和视频卡之间通信的中间人。

DirectX 不是当今唯一可用的 API 协议,但它是 Windows 原生的——与 OpenGL 标准不同——这就是它的优势所在。与 DirectX 12 终极版 , 微软正在模糊 PC 和 Xbox Series X 之间的界限,让游戏开发商更容易为每个平台定制游戏。


为什么 DirectX 12 Ultimate 对游戏很重要?

DirectX 12 Ultimate 使用 DirectX 12 基础,并包含一些在过去两年中出现的新功能。首先是 DirectX Raytracing 1.1;随着越来越多的游戏采用光线追踪,DirectX 12 Ultimate 将该功能本地集成到 Windows 以及微软即将推出的游戏机 Xbox Series X 中。

DirectX 12 Ultimate 将使下一代游戏看起来令人难以置信。

DirectX 12 Ultimate 还具有可变速率着色,允许 GPU 更有效地利用其资源来渲染焦点对象,从而获得更好的帧速率和更高的保真度。您还可以获得诸如采样器反馈之类的功能,这些功能可以在使用更少资源的同时提高纹理质量,并且总体而言,您将获得一套可以让下一代游戏运行更流畅的更改。

从本质上讲,DirectX 12 Ultimate 有助于游戏制造商提供具有更高质量纹理和栩栩如生的照明的更身临其境的游戏,并且将这些功能融入到 Windows 中,只要您拥有可与最新版本的 DirectX。

虽然看到 DirectX 12 Ultimate 在 Xbox Series X 上首次亮相令人兴奋,但它首先会出现在 Windows PC 上。它已经在 NVIDIA 的 GeForce RTX 系列显卡上推出,微软表示,在今年晚些时候推出其控制台之前,该技术将用于“数百万”显卡。请务必查看我们的最佳显卡指南,了解升级选项和更多信息。

在外置硬盘上安装 Steam 游戏

RTX善良

DirectX有什么用?

微星 RTX 2060 Gaming Z 6G

最佳游戏价值

RTX 2060 具有光线追踪和 NVIDIA DLSS,是《死亡搁浅》的理想卡。您可以毫无问题地以 1440p 玩最新的 PC 游戏,而且这里提供的价值非常高。

  • 亚马逊 370 美元

��� DirectX��һ��Ӧ�ó���ӿڣ�API���Ǽ��������ͼ�ε�һ�ֹ����൱��һ��ͨ�ñ�����������ֵ��е�ʮ��·�ڣ�����ͨ������˷���ͬ������Ҳ�����ø���������DirectX����Ϸ���߶�ý���ļ��ڸ����ͺŵ�Ӳ�������л򲥷š���������windowsΪƽ̨����Ϸ���ý������ø��ߵ�ִ��Ч�ʣ�����������д�����������ʵʵ���ij��󼯺ϣ���ζ��������ǿ�������ԺͶ�̬�ԡ�Ȼ���������Ҫ�����ڲ������Զ��������ṹ��������ϣ���������ṹ�ļ��(����/�̶����������)Ҳʹ����к�ǿ���ȶ��ԡ� ���� DirectX��ǿ3dͼ�κ�����Ч�������ṩ�����Աһ����ͬ��Ӳ��������׼������Ϸ�����߲���ΪÿһƷ�Ƶ�Ӳ����д��ͬ����������Ҳ�����û���װ������Ӳ���ĸ��Ӷȡ�������������˵��Direct����ֱ�ӵ���˼������ߵ�X������˺ܶ����˼������һ�������ǾͿ��Կ���DirectX�ij��־���Ϊ��Ϊ�ڶ������ṩֱ�ӷ���ġ� �ٸ����ӣ��ǻҼ���ң�����Ϸ�Ƚϳ��ģ���ǰ��DOS������Ϸʱ���ɲ����������ڣ���װ�ϾͿ������ˣ�������������Ҫ������������Ʒ�ƺ��ͺţ�Ȼ��Ҫ����IRQ���жϣ���I/O���������������DMA����ȡģʽ��������������õIJ��ԣ���ô��Ϸ�����ͷ����������ⲿ�ֵ����ò����������͸�Խ���Ҷ���Ϸ��������˵�͸�ͷʹ�ˣ���ΪΪ������Ϸ�ܹ����ڶ��������ȷ���У������߱�������Ϸ����֮��,����Ҫ����������������Ӳ�����ݶ��ռ�������Ȼ����ݲ�ͬ�� API��Ӧ�ñ�̽ӿڣ���д��ͬ�����������������Ϸ������˾��˵���Ǻ�����ɵģ�����˵�ڵ�ʱ��ý����Ϸ���١�΢�����ǿ�����������⣬Ϊ�ڳ����Ƴ���һ����ͬ��Ӧ�ó���ӿڡ���DirectX��ֻҪ�����Ϸ������Directx�������ģ���������ʲô�Կ���������ͳͳ�����棬���һ��ܷ��Ӹ��ѵ�Ч������Ȼ��ǰ��������Կ�����������������Ҳ����֧��DirectX���С�