Skip to content

openGL DIrectX 和unity unreal这些引擎的关系是什么?

解答:

OpenGL和DirectX都是底层的3D渲染接口,一般接口的实现由显卡厂商的驱动提供。只不过OpenGL是开源跨平台的,DirectX是微软独占的。OpenGL和DirectX是目前比较通用的底层库,各大显卡厂商也会为此在不同的显卡上编写对应的driver,这些driver负责做最终的机器specific的实现。

Unity是一个引擎,引擎里面包含很多模块,比如渲染模块,声音模块,物理模块等等。这里的渲染模块在上层会有个通用的API层供调用,而无需管底层到底是跑了opengl的实现还是directx的实现。

ubuntu升级opengl

Ubuntu默认使用的OpenGL版本与您的显卡驱动程序相关。如果您想升级OpenGL版本,您可以更新您的显卡驱动程序。

要更新显卡驱动程序,请打开「软件和更新」应用程序,然后选择「附加驱动」标签。在这里,您将看到可用的驱动程序列表,您可以选择最新的驱动程序并安装它。

OpenGL所提供的只是接口,我们所调用的也只是接口;具体的实现由显卡生产商实现,也就是他们所提供的显卡驱动;我们使用OpenGL可以调用API(这个api仅仅是函数名,仅仅是接口而已)去绘制一个三角形,但是硬件如何知道这个函数是用来绘制三角形的,这一部分就是由显卡驱动来完成,显卡驱动里会提供这个接口的具体实现,也就是说如果没有安装显卡驱动或者显卡驱动里并没有提供绘制三角形的实现,那么OpenGL里的api是毫无意义的;

由于OpenGL的大多数实现都是由显卡厂商编写的,当产生一个bug时通常可以通过升级显卡驱动来解决。这些驱动会包括你的显卡能支持的最新版本的OpenGL,这也是为什么总是建议你偶尔更新一下显卡驱动。