什么是opengl®和direct3d之间的区别?(the differences between opengl® and direct3d?)

Open Graphics Library®(OpenGL®)和Direct3D计算机图形库之间存在一些差异,尽管并非所有这些差异对于程序员和最终用户都是显而易见的。最大的区别在于每个图形库的开发和维护方式,OpenGL®主要由不同利益相关方的联盟开发,Direct3D由Microsoft®开发和维护。Direct3D在其实现方面也是完全专有的,而OpenGL®遵循一个很大程度上开放的标准,但一些...

Open Graphics Library®(OpenGL®)和Direct3D计算机图形库之间存在一些差异,尽管并非所有这些差异对于程序员和最终用户都是显而易见的。最大的区别在于每个图形库的开发和维护方式,OpenGL®主要由不同利益相关方的联盟开发,Direct3D由Microsoft®开发和维护。Direct3D在其实现方面也是完全专有的,而OpenGL®遵循一个很大程度上开放的标准,但一些获得专利的硬件例程除外。OpenGL®和Direct3D库之间的最后一个主要区别在于它们支持的平台,因为OpenGL®可以在各种平台和语言上工作,而Direct3D只能在基于Microsoft®Windows®的系统上工作。。

OpenGL is an open source standard and abstract programming interface (API) for programming three-dimensional (3D) graphics in computer programs.

在20世纪90年代早期到中期,当OpenGL®和Direct3D都可供计算机程序员使用时,底层框架存在很大差异。随着时间的推移,图形硬件变得越来越流行和便宜,许多高级功能被引入,这两个库都需要支持才能保持相关性。最终,OpenGL®和Direct3D之间的竞争导致这两个库具有几乎相同的功能,尽管仍存在一些细微的差异。大多数最终用户不知道设备或应用程序中是否使用OpenGL®或Direct3D,大量3D程序实际上包含对这两个库的支持。。

OpenGL®和Direct3D之间最大且最不可避免的区别之一是它们将在哪些平台上运行。Direct3D是Microsoft®Windows®软件开发工具包(SDK)的一部分,因此它特别依赖于仅在Windows®操作系统及其衍生产品中才能找到的组件。另一方面,OpenGL®一般是跨平台开发的,并且尽可能少地依赖于操作特定功能。一些程序已经开发出来,允许Direct3D在Windows®以外的操作系统上工作,尽管功能通常会大大减少。。

从编程的角度来看,两个库之间存在总体设计差异。OpenGL®倾向于抽象图形硬件的使用,允许程序员使用一组核心函数进行绘图,然后依靠驱动程序直接访问硬件。Direct3D要求程序员管理正在编写的程序中硬件的某些方面,这可以使Direct3D程序更复杂,但也提供了更灵活的资源管理。最终,OpenGL®更容易编写程序,但硬件制造商更难编写驱动程序。此外,Direct3D还有大量的工具和Microsoft®支持,但需要更多的硬件和编程知识才能使用。。

OpenGL®和Direct3D之间的最后一个区别是在主要标准版本之间添加新硬件和语言功能的方式。通过OpenGL®,硬件制造商能够实现称为扩展的特殊功能,可立即访问新硬件的独特功能。使用Direct3D,这些功能需要通过Microsoft®处理,然后Microsoft®通过官方发行渠道发布新功能。OpenGL®方法允许快速使用新功能,但降低了使用扩展的程序的总体兼容性,而Direct3D方法速度较慢,但可以保证跨不同系统的兼容性。。

  • 发表于 2021-12-08 14:35
  • 阅读 ( 150 )
  • 分类:互联网

你可能感兴趣的文章

如何使用sweetfx获得令人惊叹的pc图形

... Direct3D是一个API(应用程序编程接口)可在所有Windows PC上使用。它使用图形卡在游戏和屏幕上的其他程序中渲染3D图像。Direct3D启用游戏中使用的着色器、纹理、抗锯齿等...

  • 发布于 2021-03-17 09:24
  • 阅读 ( 235 )

12项技术和服务拯救了linux游戏

...口。它是视频游戏与专用显卡通信的一种方式。它是微软Direct3D的替代品,微软Direct3D被Windows上的游戏广泛使用。 ...

  • 发布于 2021-03-20 21:35
  • 阅读 ( 243 )

为什么每个pc游戏都会安装自己的directx副本?

...体、声音和gamepad功能。Windows上的许多游戏都使用DirectX的Direct3D进行图形处理。如果他们不这样做,他们就会使用跨平台的OpenGL或vulkanapi。其他非游戏应用程序可能使用DirectX来实现3D图形等功能。 Windows 7包括DirectX 11,Windows 10包...

  • 发布于 2021-04-07 07:41
  • 阅读 ( 160 )

如何用nvidia shadowplay录制你的电脑游戏

...戏都会默认使用NVIDIA暗影游戏。ShadowPlay只直接支持使用Direct3D的游戏,而不支持OpenGL。虽然大多数游戏都使用Direct3D,但也有一些使用OpenGL。例如,我们上面使用的DOOM使用OpenGL,Minecraft也使用OpenGL。 要录制不支持ShadowPlay的OpenGL...

  • 发布于 2021-04-09 12:12
  • 阅读 ( 170 )

关于vulkan,你需要知道的是,它承诺在每个平台上都能提供更快的游戏

...os原则的开发者Croteam所说:“对于简单的游戏,OpenGL(或Direct3D)将继续存在;学习曲线并不像Vulkan那样陡峭。然而,在减少应用程序和驱动程序CPU开销方面,Vulkan确实很出色。它比Direct3D 9、11和OpenGL快得多!” 但Vulkan不仅仅是...

  • 发布于 2021-04-09 19:44
  • 阅读 ( 182 )

cpu和gpu如何交互以呈现计算机图形?

...驱动程序。驱动程序的一些众所周知的接口包括: OpenGL Direct3D 库达 对于这个例子,我们将使用OpenGL。现在,驱动程序接口为您提供了使程序与图形卡(或驱动程序,然后驱动程序与图形卡)对话所需的所有工具。 这个接口一...

  • 发布于 2021-04-12 06:51
  • 阅读 ( 283 )

valve启动linux游戏,使其比windows更快

...alve Linux团队能够勉强维持更高的315fps。使用运行Windows7和Direct3D的同一台机器,同一个游戏的运行速度为270.6fps,大约慢了14%。 在为Linux平台优化了源代码引擎之后,Valve想知道为什么OpenGL在技术层面上优于Direct3D。他们的研究发...

  • 发布于 2021-04-23 15:20
  • 阅读 ( 135 )

opengl(opengl)和开放计算语言(opencl)的区别

...编写程序。它们都是用C语言编写的。 覆盖的关键领域 1.什么是OpenGL–定义,功能2.什么是OpenCL–定义,功能3.OpenGL和OpenCL的区别是什么–主要区别的比较 关键术语 OpenGL,OpenCL 什么是opengl(opengl)? OpenGL是一个用于绘制二维和三...

  • 发布于 2021-07-01 12:42
  • 阅读 ( 423 )

virtualbox 3.0测试版添加游戏级图形

...用户,VirtualBox 3.0有一个早期的测试版,引入了OpenGL 2.0和Direct3D支持。如果你不知道这意味着什么,发布还有其他好处。对Windows、Linux和Solaris客户机的图形支持是即将发布的3.0版本中的主要功能,但是还有很多其他的修复和调整...

  • 发布于 2021-07-28 23:43
  • 阅读 ( 136 )

如何我选择最好的opengl®书籍?(i choose the best opengl® books?)

... 有许多OpenGL®书籍可用,从学习OpenGL®的入门教程到非常详细的库规范和抽象编程接口(API)。不同的因素可以决定哪些书籍最适合特定的OpenGL®项目,包括正在开发的实际应用程...

  • 发布于 2021-12-06 17:32
  • 阅读 ( 166 )