OpenGL ES要求一个渲染上下文环境和绘图窗口,渲染上下文存储着OpenGL ES状态的属性,绘图窗口决定那个窗口将被绘制并指出将要绘制的图形对颜色缓冲区、深度缓冲区、模板缓冲区的要求、还有每个缓冲区位数。
OpenGL ES API 没有提及如何创造一个渲染上下文或者渲染上下文如何联系操作系统的窗口,EGL是渲染API(OpenGL ES)和操作系统窗口之间的接口。
任何OpenGL ES在使用EGL渲染前要做以下的事情:
- 查询设备上可用的显示初始化它,例如一个翻盖手机有两个LCD屏,可以渲染其中的一个或者两个。
- 创造一个渲染屏幕,EGL能够创造隐藏平面或显示屏平面,显示屏平面联系着操作系统,隐藏平面联系着像素缓冲区,虽然不用于显示,但被用于贴图渲染,能被对重 API使用。
- 创造渲染上下文,EGL需要创造渲染上下文,这个渲染上下文在实际使用前需要联系上适合的平面。
- EGL API也有另外的功能,例如电力管理,支持多种渲染上下文,分享贴图或缓冲区等等,OpenGL ES扩展行为能够通过工具查询获得。
OpenGL ES 2.0编程
编程开始前你需要知道包含哪些头文件和你的应用链接所用的库文件位置,懂得使用EGL语法和GL命令名和命令参数。
库和包含文件
应用程序需要的链接库包括OpenGL ES 2.0库——libGLESv2.lib和EGL库libEGL.lib。
需要包含的头文件至少有:
#include <EGL/egl.g>