写在前面
应用程序使用目标硬件的GPU通过Khronos渲染API调用执行渲染操作,或通过本地Screen API函数调用使用blitting。
一,OpenGL ES
Screen支持以下Khronos渲染API:OpenGL ES和OpenVG。它们为图形硬件提供通用接口,允许用户生成和操纵高质量的二维矢量和三维图形图像。
Khronos 渲染 API 可以为用户应用程序提供以下关键功能:
- 缓冲区对象的创建、删除和查询
- 2D纹理
- 着色(包括 OpenGL Shading 语言中描述的用户着色器)
- 混合(即透明度)
- 图像大小调整
- 图像旋转
- 对最终图像进行光栅化
OpenGL ES和OpenVG标准由Khronos Group发布。
通常,硬件供应商都有自己的Khronos标准实现,利用硬件加速,特别是GPU硬件。为了向Screen应用程序提供通用接口,Khronos渲染API调用通过Screen提供的QNX库重定向到适当的供应商特定的渲染API功能。
Khronos标准是专门为硬件供应商实施的,因此,不同实施之间的性能会有所不同。
Screen的EGL库(libEGL)提供了对Khronos EGL的特定于供应商的实现访问。Khronos EGL是渲染API和底层窗口环境之间的接口,在这种情况下,是Screen。它提供了启用图形上下文管理、Surface构建和绑定的功能,以及在不同渲染任务之间提供同步。总之,Khronos渲染API提供内容,EGL提供访问,以包装Screen的渲染目标。
Khronos EGL提供的主要功能包括: