我正在编写一个使用EGL接口执行OpenGL绘图的无头Linux应用程序。我使用“渲染到纹理”方法,即在EGL世界中不创建任何pbuffer或pixmap。相反,我将eglMakeCurrent()
称为:
eglMakeCurrent(display, EGL_NO_SURFACE, EGL_NO_SURFACE, context);
,然后将纹理附加到帧缓冲区。
现在,我想知道在执行EGL_SURFACE_TYPE
时在configAttribs
中指定必需的eglChooseConfig()
值的正确(最可移植)方法是什么?
eglChooseConfig() documentation说默认的EGL_SURFACE_TYPE
是EGL_WINDOW_BIT
。同时说明屏蔽,即寻找同时支持EGL_WINDOW_BIT | EGL_PIXMAP_BIT
的配置。我不清楚0
在这里是否是有效的掩码值?还是0
默认为EGL_WINDOW_BIT
?第二个问题是EGL
标准是否规定必须始终由任意实现支持某种表面类型?那么,我应该怎么做才能始终找到配置?