OpenGL ES直接控制台帧缓冲

时间:2015-08-12 15:05:06

标签: opengl-es opengl-es-2.0 framebuffer

OpenGL ES可以用于仅将几何体渲染到纹理吗?如果是这样,那怎么办呢?

我见过的所有代码都依赖于Windows,X,SDL或驱动程序,所有这些都是不受欢迎的,但在删除时会引起麻烦。

我需要渲染图像直接写入帧缓冲控制台(/ dev / fb0和fb1)。因此blitting纹理会很有效。

这适用于预引导环境,因此需要最小化依赖项/库,同时尽量避免编写自己的光栅化代码。

1 个答案:

答案 0 :(得分:0)

你需要使用带有颜色纹理附件的FBO(帧缓冲对象)来“将几何体渲染到纹理”,你可以这样做而不需要在屏幕上显示任何东西......但是你仍然需要初始化OpenGLES(创建一个GLES上下文等),如果你想“手动”而不使用像SDL这样的库,那么这仍然相当复杂(实际上你可以做的是从SDL或任何其他lib复制粘贴相关部分它提供了GLES初始化代码。)

一旦你的几何体渲染到FBO,你就可以“glRead()”附加到FBO的纹理来获取RAM中的像素,然后用它们做你想做的任何事情(例如blit到framebuffer控制台)