OPENGL ES 2.0 Spec阅读(一)介绍

  • 多数的OpenGL ES要求图形硬件带有帧缓存
  • 相比于OpenGL 2.0,OpenGL ES 2.0主要面向嵌入式和移动设备的图形硬件,它移除了大量的冗余和遗留功能,增加了少量新功能。详细可参考Spec (Difference)

什么是OpenGL ES 2.0

编程者视角

  • 对编程者来说,OpenGL ES提供了一系列用于定义二维或三维几何对象的命令,以及可以控制这些对象如何渲染到帧缓存的命令。
  • OpenGL ES提供了立即模式,即定义对象即绘制对象
  • 典型的OpenGL ES程序分为几步:
    1. 打开一个窗口
    2. 分配上下文并和窗口绑定
    3. 发送OpenGL ES命令(包括绘制几何对象,控制对象的光照和染色,模型空间到屏幕空间的映射方式,以及帧缓存操作等等)

实现者视角

对实现者来说,OpenGL ES是一系列可影响图形硬件操作的命令。

  • 如何在图形硬件和CPU之间划分任务来获得OpenGL ES调用的最佳性能是实现的关键点之一。图形硬件至少包括一个可寻址的帧缓存,其他完全交由CPU来做。但一般来说,还会实现不同程度的图形加速功能,例如可渲染二维直线和多边形的光栅化子系统,以及可以变换和计算几何数据的浮点处理器。
  • OpenGL ES维护了大量的状态信息。状态信息控制着对象以何种方式绘制到帧缓存中。一部分对象可直接被用户访问,另一部分只能看到其对绘制产生的效果。

协议制定者视角

OpenGL ES是一个控制绘制操作的状态机。

相关文档

  • OpenGL ES Spec应该和OpenGL ES Shading Language的文档一起阅读,OpenGL ES 2.0实现保证了至少能够支持shading language v1.0。
  • 建议采用Khronos Native Platform Graphics Interface ( EGL Spec )来作为创建和管理图形上下文和窗口以及其他资源的API。
posted @ 2022-05-25 19:43  xvsay  阅读(71)  评论(0)    收藏  举报