OpenGL、DirectX、Metal之间的区别与选择

你是不是也被这些OpenCL、OpenGL、Vulkan、DirectX、D3D、OpenES、WebGL、Metal搞得有些乱,今天就梳理一下。

以上都是处理图形相关的接口或库文件。

微软公司系列:

DirectX是微软公司的,不光包含图形Direct3D(D3D),还有显示、声音、输入、网络这一整套东西。

非盈利组织系列:

最有名的是OpenGL,是跨平台的,可以在Windows、macOS、Linux等多个系统上使用。OpenGL ES是它的子集,主要在嵌入式设备上使用如手机。

WebGL是在网页中使用3D的一种。

Vulkan说是要取代OpenGL的一种。

苹果公司系列:

OpenCL最早是由苹果公司开发的,后来交由非盈利组织成员管了。

苹果公司这几年用的是Metal,等于他已经也放弃使用OpenGL和OpenCL了。

以上就是它们之间的区别。

还记得某些游戏会给设置选择吗?比如CS游戏设置里面选择D3D还是OpenGL,这个要看你用的是什么系统,理论上Windows电脑选择D3D,苹果电脑和Linux系统电脑选择OpenGL是最合适的。

一般买显卡的时候,规格参数里面也会提到支持的版本,如DirectX 12和OpenGL 4.6。

再说选择问题,正是因为DirectX只能在Windows系统上使用,所以OpenGL也一直有广泛的使用者。如果你希望你开发的游戏能同时移植到多系统上,OpenGL等就是最好的选择。如果你只专注一个系统并希望得到高性能,那就分别选择微软的DirectX或苹果的Metal。

最后,关注我,带你梳理更多IT知识。