如何在opengl / egl中更改渲染表面的大小?

时间:2014-01-21 09:03:48

标签: opengl-es egl

我在使用C的OpenGL ES 2.0工作。(不是Android) 我想改变egl表面的大小,这样我就可以在屏幕上同时渲染两个不同的上下文。

是否可以调整egl表面的大小?

1 个答案:

答案 0 :(得分:3)

正在使用什么平台/窗口系统? windowsurface来自“窗口” - 因此依赖于windowsystem--例如,如果使用X,它将来自客户端窗口。如果使用全屏“NULL”windowsystem,则为framebuffer的大小。如果Qt,小部件或类似的。

使用NULL系统的示例如下:

https://github.com/prabindh/sgxperf/blob/master/sgxperf_gles20_vg.cpp

要回答 - EGL只引用已创建的窗口,因此无法自行调整大小。调整客户端窗口的大小时,EGL必须更新其内部,而不是相反。

您可以使用glviewport定位屏幕的不同区域。