大家好,来宝来为大家解答以下问题,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的推出引发了一场显卡革命。它首次引入了“像素渲染”的概念,同时拥有像素着色器和顶点着色器,在特效中体现了动态的光影效果。VS和PS单元相对于只通过硬件TL实现的固定光影转换更加灵活,使得GPU真正成为可编程处理器。这意味着程序员通过它们构建3D场景的难度要小得多。通过VS和PS的渲染,很容易在水面上营造出真实的动态波纹光影效果。此时,DirectX的权威地位终于确立。
DirectX 9.0
2002年底,微软发布了DirectX9.0,DirectX9中PS单元的渲染精度已经达到浮点精度,传统的硬件TL单元也被取消。新的VertexShader (VertexShader引擎)编程会比以前复杂很多。新的顶点着色器标准增加了流量控制,更多的常数,每个程序的着色指令增加到1024条。
PS 2.0拥有完全可编程的架构,可以即时计算纹理效果,动态映射纹理,不占用显存。理论上可以无限提高纹理映射的分辨率精度。另外,PS1.4只能支持28条硬件指令,同时操作6个素材,而PS2.0可以支持160条硬件指令,同时操作16个素材。新的高精度浮点数据规范可以使用多个纹理图,可操作指令的数量可以任意长,因此可以轻松实现电影级的显示效果。
通过增加顶点程序的灵活性,VS 2.0显著提升了旧版本(DirectX8)的VS性能。有了新的控制指令,通用程序可以代替以前专用的单独着色程序,效率提高了很多倍。增加循环作业指令,减少工作时间,提高加工效率;着色指令的数量从128个增加到256个。
增加浮点数据的处理功能。以前只能处理整数,提高了渲染精度,使最终处理的色彩格式达到电影级别。它突破了过去限制PC图形图像质量的数学精度壁垒,每一条渲染流水线都升级为128位浮点色彩,让游戏程序员更容易创作出更精美的效果,让程序员更容易编程。
DirectX 9.0c
与过去的DirectX 9.0b和Shader Model 2.0相比,DirectX 9.0c最大的改进是引入了对Shader Model 3.0(包括像素着色器3.0和顶点着色器3.0)的全面支持。例如,DirectX 9.0b的着色器模型2.0支持的顶点着色器指令的最大数量仅为256,像素着色器指令的最大数量仅为96。在最新的着色器模型3.0中,顶点着色器和像素着色器的最大指令数增加到了65,535。新的动态程序流程控制、位移贴图、MRT、亚表面散射亚表面散射、软阴影、环境和地面阴影的环境和地面阴影、全局光照等新技术特性,GeForce 6、GeForce7系列和镭龙X1000系列立即为新一代游戏提供强大的动力,以及复杂的数字世界以无与伦比的真实感和幻想性以及逼真的人物在影视质量的环境中运动。
因此,DirectX 9.0c和Shader Model 3.0标准的推出可以说是DirectX发展的一个重要转折点。在DirectX 9.0c中,Shader Model 3.0除了取消了指令数限制,增加了位移贴图等新特性之外,还有更多专注于解决游戏执行效率和质量的特性。Shader Model 3.0诞生后,人们对游戏的态度从过去单纯追求速度转变为兼顾游戏质量和运行速度。因此,着色器模型3.0对游戏行业产生了深远的影响。
另外,随着Win7和Win8的推出,DirectX版本已经升级到了DirectX 10/11,甚至是最新的DirectX 12。对于电脑爱好者来说,只要知道DirectX主要是为了提升游戏或者图形性能体验,更高版本的DirectX就能带来电脑游戏性能的提升。不过也要注意,最新的DirectX 12需要系统和硬件支持。比如系统需要Win10,显卡需要支持DirectX 12,一些老显卡可能无法支持最新的DirectX 12。
本文讲解到此结束,希望对大家有所帮助。