EGL提供了opengl es和运行于计算机上的原生窗口系统之间的一个结合层次,如下为调用EGL的一般流程:
1.与窗口系统通信
调用如下函数打开与EGL显示服务器的连接:
EGLDisplaye glGetDisPlay(EGLNativeDisplayType displayId)
displayId为了匹配原生窗口系统的显示类型,默认为EGL_DEFAULT_DISPLAY
(一般都选择默认值)
eg: EGLDisplay display=eglGetDisplay(EGL_DEFAULT_DISPLAY)//打开与EGL的连接
If(display==EGL_NO_DISPLAY) //表示EGL不可用
{
return EGL_FALSE;
}
检查错误:
EGLint eglGetError() 可返回错误代码,如返回EGL_SUCCESS表示没有错误。
2.初始化EGL
EGLboolean eglInitialize(EGLDisplay display,
EGLint *majorVersion,
EGLint *minorVersion)
display 指定EGL显示连接
majorVersion 指定EGL实现返回的主版本号
minorVersion 指定EGL实现返回的次版本号
eg: EGLint major,minor;
if(!eglInitialize(display,&major,&minor)) //如果不能初始化EGL
{
return EGL_FALSE;
}
3.让EGL选择配置(确定可用表面)
一旦初始化了EGL,就可以确定可用渲染表面的类型和配置,有2中方法: