1. 首页 >互联网 > 正文

directx有什么用(directx有什么用)

导读 大家好,慧慧来为大家解答以上问题,directx有什么用,directx有什么用很多人还不知道,现在让我们一起来看看吧!DirectX 12是现在计算

大家好,慧慧来为大家解答以上问题,directx有什么用,directx有什么用很多人还不知道,现在让我们一起来看看吧!

DirectX 12是现在计算机爱好者的热门话题。无论是Win10系统还是一些大作游戏配置要求,都可以看到DirectX 12的标记。DirectX 12到底是什么,有什么功能?下面详细介绍一下这些电脑小白朋友不熟悉的问题。

什么是DirectX 12?

DirectX,称为直接扩展,是微软公司创建的多媒体编程接口。

DirectX由C编程语言实现,遵循COM。广泛应用于微软Windows、微软Xbox、微软Xbox 360视频游戏的开发,只能支持这些平台。DirectX12是目前DirectX的最新版本。大家熟悉的XP系统版本是DirectX 9.0,Win7/8系统版本是DirectX 11。在Win10正式版中,会内置最新的DirectX 12。

简单来说,DirectX 12是微软Windows系统中DirectX的最新版本,带来了更好的3d图形和音效优化。无疑受到游戏玩家的喜爱。

DirectX 12有什么用?

DirectX的主要功能是增强3D图形和音效,为设计者提供一个通用的硬件驱动标准,让游戏开发者不必为每个品牌的硬件编写不同的驱动,用户安装和设置硬件的复杂度也降低了。

从字面上来说,Direct就是直接的意思,而后面的x则代表了很多意思。从这一点上,我们可以看到DirectX似乎为许多软件提供了直接的API接口服务。一般来说,DirectX的高版本会有更好的体验。

简单来说,DirectX 12其实是一个非常重要的API更新,主要是提高驱动效率,给开发者更多的控制权。DirectX 12改变了底层API,在硬件抽象层比以前更深入,具体包括可追踪GPU流水线的应用、资源状态转换的控制(比如从渲染目标到纹理)、资源重命名的控制、更少的API和驱动跟踪、可预测的属性、多线程优化等。可以带来更好的游戏体验。

在PC端,游戏开发者也可以更轻松地展示效果。总的来说,这个DirectX 12是大家非常喜欢看的新版本。

DirectX版本的发展历史

DirectX不是一个简单的图形API,它是微软开发的一个广泛使用的API。它包含许多组件,如Direct graphics(Direct 3d Direct Draw)、直接输入、直接播放、直接声音、直接显示、直接设置、直接媒体对象等。它提供了一整套多媒体接口解决方案。只是它在3D图形方面的出色表现,让它的其他方面显得黯淡无光。DirectX开发之初是为了弥补Windows 3.1系统图形和声音处理能力的不足,现在已经发展成为对整个多媒体系统各个方面都有决定性影响的接口。

DirectX 5.0

微软没有推出DirectX 4.0,而是直接推出了DirectX 5.0。该版本对Direct3D进行了很大的改动,加入了雾化效果、Alpha混合等3D特效,增强了3D游戏中的空间感和真实感,还加入了S3纹理压缩技术。同时,DirectX 5.0在其他组件上得到了加强,在声卡和游戏手柄上得到了改进,支持更多的设备。所以DirectX发展到DirectX 5.0才真正成熟。此时DirectX的性能并不逊色于其他3D API,有后来居上的潜力。

DirectX 6.0

DirectX 6.0推出时,其最大的竞争对手之一Glide逐渐衰落,而DirectX则得到了大多数厂商的认可。DirectX 6.0增加了双线性过滤、三线性过滤等技术来优化3D图像的质量,游戏中的3D技术也逐渐进入成熟阶段。

DirectX 7.0

DirectX 7.0最大的特点就是支持TL,它的中文名字叫“坐标变换和光源”。3D游戏中的任何物体都有一个坐标。当这个物体移动时,它的坐标发生变化,也就是坐标变换。在3D游戏中,除了场景物体,还需要灯光。没有灯光,就没有3D物体的表现。无论是实时3D游戏还是3D图像渲染,带灯光的3D渲染都是最耗费资源的。OpenGL中虽然有相关技术,但之前从未在民用硬件中出现过。TL出来之前,位置转换和灯光都需要CPU计算。CPU速度越快,游戏性能越流畅。使用TL函数后,这两个效果由显卡的GPU计算,让CPU从繁忙的工作中解脱出来。换句话说,有了TL显卡和DirectX 7.0,即使没有高速CPU也能流畅运行3D游戏。

DirectX 8.0

DirectX 8.0的推出引发了一场显卡革命。它首次引入了“像素渲染”的概念,同时拥有像素着色器和顶点渲染引擎

  DirectX 9.0

  2002年底,微软发布DirectX9.0。DirectX 9中PS单元的渲染精度已达到浮点精度,传统的硬件T&L单元也被取消。全新的VertexShader(顶点着色引擎)编程将比以前复杂得多,新的VertexShader标准增加了流程控制,更多的常量,每个程序的着色指令增加到了1024条。

  PS 2.0具备完全可编程的架构,能对纹理效果即时演算、动态纹理贴图,还不占用显存,理论上对材质贴图的分辨率的精度提高无限多;另外PS1.4只能支持28个硬件指令,同时操作6个材质,而PS2.0却可以支持160个硬件指令,同时操作16个材质数量,新的高精度浮点数据规格可以使用多重纹理贴图,可操作的指令数可以任意长,电影级别的显示效果轻而易举的实现。

  VS 2.0通过增加Vertex程序的灵活性,显著的提高了老版本(DirectX8)的VS性能,新的控制指令,可以用通用的程序代替以前专用的单独着色程序,效率提高许多倍;增加循环操作指令,减少工作时间,提高处理效率;扩展着色指令个数,从128个提升到256个。

  增加对浮点数据的处理功能,以前只能对整数进行处理,这样提高渲染精度,使最终处理的色彩格式达到电影级别。突破了以前限制PC图形图象质量在数学上的精度障碍,它的每条渲染流水线都升级为128位浮点颜色,让游戏程序设计师们更容易更轻松的创造出更漂亮的效果,让程序员编程更容易。

  DirectX 9.0c

  与过去的DirectX 9.0b和Shader Model 2.0相比较,DirectX 9.0c最大的改进,便是引入了对Shader Model 3.0(包括Pixel Shader 3.0 和Vertex Shader 3.0两个着色语言规范)的全面支持。举例来说,DirectX 9.0b的Shader Model 2.0所支持的Vertex Shader最大指令数仅为256个,Pixel Shader最大指令数更是只有96个。而在最新的Shader Model 3.0中,Vertex Shader和Pixel Shader的最大指令数都大幅上升至65535个,全新的动态程序流控制、 位移贴图、多渲染目标(MRT)、次表面散射 Subsurface scattering、柔和阴影 Soft shadows、环境和地面阴影 Environmental and ground shadows、全局照明 (Global illumination)等新技术特性,使得GeForce 6、GeForce7系列以及Radeon X1000系列立刻为新一代游戏以及具备无比真实感、幻想般的复杂的数字世界和逼真的角色在影视品质的环境中活动提供强大动力。

  因此DirectX 9.0c和Shader Model 3.0标准的推出,可以说是DirectX发展历程中的重要转折点。在DirectX 9.0c中,Shader Model 3.0除了取消指令数限制和加入位移贴图等新特性之外,更多的特性都是在解决游戏的执行效率和品质上下功夫,Shader Model 3.0诞生之后,人们对待游戏的态度也开始从过去单纯地追求速度,转变到游戏画质和运行速度两者兼顾。因此Shader Model 3.0对游戏产业的影响可谓深远。

  此外,随着Win7和Win8的推出,DirectX版本提升到了DirectX 10/11,甚至目前最新的DirectX 12。对于电脑爱好者来说,只要知道DirectX主要是为了提升游戏或者图形性能体验的,更高版版的DirectX可以带来电脑游戏性能的提升。不过也需要注意的是,最新的DirectX 12需要系统与硬件的支持,比如系统需要Win10,显卡需要支持DirectX 12,一些老旧显卡可能无法支持最新的DirectX 12。

本文讲解到此结束,希望对大家有所帮助。

标签:

免责声明:本文由用户上传,如有侵权请联系删除!