CS1.6里视频设置里的D3D和OPENGL的区别

CS1.6里视频设置里的D3D和OPENGL的区别,第1张

CS1.6里视频设置里的D3D和OPENGL的区别为:标准不同、硬件需求不同、渲染不同。

一、标准不同

1、D3D:是微软为提高3D游戏在Windows中的显示性能而开发的显示程序接口,目前已经升级到12版本,它提供了丰富的3D功能库,是游戏广泛采用的标准。

2、OPENGL:有着丰富经验的一个性能卓越的三维图形标准,它是在SGI等多家世界闻名的计算机公司的倡导下,以SGI的GL三维图形库为基础制定的一个通用共享的开放式三维图形标准。

二、硬件需求不同

1、D3D:提供的显示硬件必须满足D3D的所有硬件特性。

2、OPENGL:提供的显示硬件不要求满足OPENGL的所有硬件特性。

三、渲染不同

1、D3D:对渲染状态这个概念进行淡化,一方面使用全Shader化的架构使得状态的前后设置和互相影响对渲染成功率降低到最少,另外对API架构也更为简洁,另一方面对一些关键渲染状态进行封装和分类。

2、OPENGL:只提供渲染功能。核心API没有窗口系统、音频、打印、键盘/鼠标或其他输入设备的概念。

可以看一下D3D设置中的surface透明色讲解。

将讲解总结举个例就是:加载一张jpg贴图,格式是D3DFMT_X8R8G8B8,因为没有A通道所以无论是设置Colorkey还是将所有像素的颜色取反都不会有透明效果,这样发现之后就在加载的时候将图片的格式转化为D3DFMT_A8R8G8B8再设置ColorKey时,就可出现透明效果。

D3D的surface透明色就是将游戏背景或图画背景等设置为透明显示。

3D加速卡就是硬件,也就是我们常说的显卡。 而 *** 作系统和应用软件通常不能直接去使用显卡和其中的3D加速功能,必须通过系统中的一个接口去调用,这就是OPENGL和D3D的作用了。 OPENGL和D3D对下可以通过显卡驱动程序 *** 作显卡,对上可以为 *** 作系统和各种应用程序提供各种显示用的接口函数和显示功能。 *** 作系统和应用软件(包括游戏)不需要知道这台电脑用的什么显卡,只需要调用OPENGL或D3D提供的接口函数和功能就能实现显示功能,通过这种分工合作,极大的降低了软件开发周期和成本。比如需要在显示器上画出一个三维的正方体,不需要程序人员针对不同的显卡去写大段的代码,只需要调用OPENGL或D3D的一个函数并把一些相关的参数发给他们,由他们去完成这个事情就可以了。 OPENGL和D3D本质虽然一样,但却是不同的两个标准。 OpenGL是近几年发展起来的一个性能卓越的三维图形标准,它是在SGI等多家世界闻名的计算机公司的倡导下,以SGI的GL三维图形库为基础制定的一个通用共享的开放式三维图形标准。目前,包括Microsoft、SGI、IBM、DEC、SUN、HP等大公司都采用了OpenGL做为三维图形标准,许多软件厂商也纷纷以OpenGL为基础开发出自己的产品,其中比较著名的产品包括动画制作软件Soft Image和3D Studio MAX、仿真软件Open Inventor、VR软件World Tool Kit、CAM软件ProEngineer、GIS软ARC/INFO等等。 Direct3D (D3D):是微软为提高3D 游戏在Win 95/98中的显示性能而开发的显示程序,目前已经升级到9.0版本,而且支持XP等微软最新的 *** 作系统,它提供了丰富的3D功能库,是游戏广泛采用的标准。

可以开启了


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/10967497.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-12
下一篇 2023-05-12

发表评论

登录后才能评论

评论列表(0条)

保存