有电脑高手吗
发布网友
发布时间:2022-12-17 04:04
我来回答
共3个回答
热心网友
时间:2023-09-13 23:35
DirectX并不是一个单纯的图形API,它是由微软公司开发的用途广泛的API,它包含有Direct Graphics(Direct 3D+Direct Draw)、Direct Input、Direct Play、Direct Sound、Direct Show、Direct Setup、Direct Media Objects等多个组件,它提供了一整套的多媒体接口方案。只是其在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最大的特色就是支持T&L,中文名称是“坐标转换和光源”。3D游戏中的任何一个物体都有一个坐标,当此物体运动时,它的坐标发生变化,这指的就是坐标转换;3D游戏中除了场景+物体还需要灯光,没有灯光就没有3D物体的表现,无论是实时3D游戏还是3D影像渲染,加上灯光的3D渲染是最消耗资源的。虽然OpenGL中已有相关技术,但此前从未在民用级硬件中出现。在T&L问世之前,位置转换和灯光都需要CPU来计算,CPU速度越快,游戏表现越流畅。使用了T&L功能后,这两种效果的计算用显示卡的GPU来计算,这样就可以把CPU从繁忙的劳动中解脱出来。换句话说,拥有T&L显示卡,使用DirectX 7.0,即使没有高速的CPU,同样能流畅的跑3D游戏。
DirectX 8.0
DirectX 8.0的推出引发了一场显卡*,它首次引入了“像素渲染”概念,同时具备像素渲染引擎(Pixel Shader)与顶点渲染引擎(Vertex Shader),反映在特效上就是动态光影效果。同硬件T&L仅仅实现的固定光影转换相比,VS和PS单元的灵活性更大,它使GPU真正成为了可编程的处理器。这意味着程序员可通过它们实现3D场景构建的难度大大降低。通过VS和PS的渲染,可以很容易的宁造出真实的水面动态波纹光影效果。此时DirectX的权威地位终于建成。
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对游戏产业的影响可谓深远。
安装的时候不需要选择安装路径!
热心网友
时间:2023-09-13 23:36
这是游戏必要的,装就是了
热心网友
时间:2023-09-13 23:36
现在的3d游戏大部分都已经是directx游戏了,directx的技术发展对3d游戏起了极为重要的推动作用,了解directx的技术发展,对理解游戏和显卡对directx的需求都是十分必要的。
微软的directx6就已经被大量使用,到了directx7就已经开始左右3d显卡的发展,directx7引入了坐标转换和光照投影技术(即t&l),首次使用显卡芯片来进行硬件t&l计算,将cpu从繁重的计算中解脱出来,gpu这个名词也在directx7时代的geforce256显卡身上首次出现。现在大量的低端geforce2 mx和geforce4 mx系列显卡和已经停产的radeon7000系列都属于directx7显卡。在那以后就出现了显卡不支持某个级别的directx就无法游戏的情况,比如战地1942就是directx7游戏,要求显卡必须支持硬件t&l否则无法执行。
到了2001年,微软又推出了directx8,它首次引进了顶点渲染和像素渲染的概念,,原来的硬件t&l已经被这两者所代替。顶点渲染和像素渲染的版本在不断发展,在directx8.0版,它们都是1.1版,在directx8.1中像素渲染升级到了1.4版。顶点渲染和像素渲染的出现不仅带来了更加*真绚丽的游戏特效表现,而且由于directx8显卡已经开始具备可编程特性,大大提高了开发者在处理场景和渲染方面的灵活性。directx8的代表显卡有geforce3 ti、geforce4 ti和radeon8500。现在ati的低端卡radeon9200系列支持到directx8.1。现在没有directx8支持就不能玩得游戏也越来越多,比较出名的有忍者神龟、寂静岭3和波斯王子。
不过对于geforce4 mx系列的用户倒也不必绝望,由于geforce4 mx支持软件模拟顶点渲染,而像素渲染在这些游戏中使用的并不是很多,所以我们可以使用3d-analyze”来欺骗游戏验证,让游戏认为这块卡具有像素渲染能力而得以执行游戏。具体操作是在3d-analyze中先选中游戏的可执行文件,然后设置中钩选emulate pixel shader caps”和emulate max.sim texture”这两个选项就可以了。如果没有模拟成功,请换个驱动在试。不过这仅仅是让你体验一把directx8游戏罢了,根本的办法还是换卡。
2002年底微软推出了directx9,将顶点渲染和像素渲染升级到了2.0版本,并推出了支持顶点渲染和像素渲染的可编程高级着色语言。支持了浮点数据处理带来了很多以前无法实现的特效。比如,模仿人眼观察光线效果的高动态渲染。顶点渲染技术也得到了革新,指令数目增加了一倍,支持了语句的调转、循环、镶嵌大大简化了开发者的劳动强度和增强了开发灵活性。像素渲染也得到了提升,支持了贴图的动态建立,有些贴图,比如,木纹、大理石纹已经完全可以计算出来而不需要占用内存。我们前文介绍的显卡大都是directx9显卡,到最新的geforce 6800和radeon x800,directx9显卡已经算是发展了两代,大量的directx9游戏如变形金刚、黑暗天使、halo、farcry等已大量涌现,而马上还有half-life2等directx9超大作的发布。所以现在购买directx9显卡不仅是成熟的而且是必须的。
3d游戏的另一大流派就是opengl,它的英文全称是open graphics library”即开放的图形程序接口”,它是计算机工业标准应用程序接口,是一个与硬件无关的软件接口,使用它图形软件生产厂商再不用为各种不同的机型开发设计不同的软件,只要操作系统使用了opengl适配器就可以达到相同的效果,opengl能在网络环境下以客户机/服务器模式工作,充分发挥集群运算的威力,是专业图形处理、科学计算等高端应用领域的标准图形库。本来它是高端工业标准,并没有用在游戏娱乐中。但后来大名鼎鼎的id software 的doom、quake之父john carmack在开发下一代三维图形引擎时戏称direct 3d为可怕的、支离破碎的api,并极力建议采用opengl,此后以他为代表的一大批游戏开发人员开始多方呼吁ms积极支持opengl。microsoft终于在win95的osr2版本里集成了opengl。从此随着quake2引擎在游戏界的大卖,opengl也在游戏界中生根发芽。
因为微软的原因,大家可以容易看到directx的技术介绍,而对opengl的了解可能就相对较少。其实作为高端工业标准它的技术和特效支持是十分全面的,在directx 8未推出以前,opengl也是能够显示最多效果的3d api。就是现在,在游戏开发上(在这里我们不说专业应用)最新的opengl标准和directx9相比也毫不逊色,它支持深度纹理、阴影纹理,支持实时引擎和相关图象渲染技术,支持用户定义几何,光照和阴影程序的阶段设置,支持高级shading语言,支持自动纹理mipmap生成等等。就是directx9大肆宣扬的像素渲染在opengl中也有与之类似的片断编程相对应,而且片断编程技术也是在不断发展。
不过从目前的实际看opengl只能是第二大游戏api了,某种程度上来说它在游戏领域中完全是靠id software在支持。一直到现在我们看到的opengl游戏几乎都是quake2引擎的改进版,比如half-life、从返德军总部、使命召唤等∶在john carmack的doom3
在经历无数次跳票后终于要发布了,这个指引游戏引擎发展的超级大做,必然又将掀起一阵opengl热潮。
3d游戏第一步就是模型的构建,到目前为止仍是传统的三角形构建法为主,高阶维面构建法为辅(应用三角函数和法线相结合的构建法)。而且在一个相当长时期内这种现状将维持下去。三角形构建法分为两步一是找到三角形将会坐落在屏幕的哪个地方,二是用颜色填充这个地方。即设定和 光栅化的过程。有了模型就要有贴图,第二步就是赋予模型纹理贴图。最初的平面贴图来源于现实世界的照片或者美工的加工,后来随着技术的发展有些贴图已经是可以由gpu计算产生,而且贴图的种类也极大丰富,并出现了dtx5等纹理压缩技术。贴图是利用坐标应用到3d模型上去的。要表现真实的世界,除了模型和纹理贴图外还需要光与影的表现,真实世界中存在着形形色色的光源和区域,表现在我们眼中就是不同的反光表面和各种阴影。起初游戏中的光线效果也是以纹理的形式存在的,就是光源纹理层贴图,它无需计算光源的种类和位置,只需要设定好纹理层表现并于正常纹理层混合即可。这种方法对资源要求不高,但效果比较呆板,真实性不强◇来就出现了顶点光照等一系列技术,它们可以对多边形的顶点进行计算顶点与光源的远近距离,最后在运行3d程序时实时显示动态光源效果并产生动态阴影效果,如果游戏大量应用这种方法,无疑可以构建一个真实的光影世界,它的缺点就是太耗费系统资源,不过随着cpu和显卡的发展这种技术得到了最大的发展。