OpenGL和Direct3D

Fra*_*k V 3 opengl directx

OpenGL和Direct3D有什么区别?它们是真正不同的实现来完成相同的事情(比如Java和Mirosoft的CLR [.NET])吗?

cma*_*han 9

它们是非常不同的图形API.但公平地说,他们大多数都完成同样的事情.如果您在Windows(或XBOX游戏)下开发游戏,DirectX可能是首选的API,如果您想要跨平台支持,OpenGL是您的选择.例如,Mac OS和iPhone一样使用GL,许多Windows游戏也支持OpenGL.

因为OpenGL是在很长一段时间内开发出来的,并且"由委员会"开发,所以它带来了很多包袱 - 这个API有一些较旧的选项,而这些选项今天并不相关.这是OpenGL ES的原因之一; 它可以减少所有垃圾,并提供更简单的目标平台.

另一方面,DirectX由Microsoft控制,因此它具有更"现代"的感觉(它基于COM组件,因此是高度面向对象的).MS经常更新API以匹配新硬件.

有时你没有选择的奢侈品(例如iphone无法运行DX).但通常只取决于个人偏好/经验.如果你是一个长期的图形程序员,你往往会对两者都非常熟悉......