OS上的openGL ES实现意味着什么

时间:2017-10-18 06:07:11

标签: c++ ios opengl-es

我开始寻找OpenGL ES学习的文档,我遇到了很多链接。其中一个人解释说“OpenGL需要得到图形卡供应商(如NVidia)的支持,并由OS的供应商(如他的MacOS和iOS中的Apple)实现,最后,OpenGL给我们,开发人员,统一API与“。

一起使用

这是什么意思?

  

OpenGL需要得到图形卡供应商(如NVidia)的支持

它与正常的代码库执行有什么不同吗?

  

由操作系统的供应商(如他的MacOS和iOS中的Apple)实施......

这个操作系统的供应商是否具体?

如果所有实施都是由供应商完成的,那么OpenGL ES究竟会做什么?

我认为OpenGLES是一个库,需要在所需的操作系统中安装并使用特定的EGL API,我们需要调用它们吗?不是吗?

  

最后,OpenGL为我们开发人员提供了一个统一的API来与

配合使用

如果Os本身开发了所有东西,为什么要选择OpenGL ES?

请解释一下,可能还有一个例子。

2 个答案:

答案 0 :(得分:0)

与他的名字不同,OpenGL 是一个库。或者更好的是,导致您使用的函数的某些符号需要链接到可执行文件。

但是OpenGL是一个标准事实上的库,并且很大一部分操作系统在其内核中有很大的实现。 OSX和iOS提供OpenGL.framework和GLKit.framework以与OpenGL接口

答案 1 :(得分:0)

架构评审委员会ARB只是给出了OpenGL的规范。这意味着它告诉函数名称应该接受哪些参数以及所需的行为。所有显卡供应商都采用此规范并实现此API。这里功能接口和高级工作由ARB定义,但API的内部实现是根据供应商的硬件完成的。现在这个OpenGL API进入了驱动程序。驱动程序通常实现为操作系统接口部件和硬件接口部件。所以操作系统也需要一些支持这个驱动程序。