小编geo*_*444的帖子

如何渲染到GL_TEXTURE_EXTERNAL_OES?

我需要一种渲染到GL_TEXTURE_EXTERNAL_OES纹理的方法.我尝试将纹理绑定到帧缓冲区但我得到了GL_INVALID_ENUM错误.以下是一些示例代码:

glEnable(GL_TEXTURE_EXTERNAL_OES);
glGenFramebuffersOES(1, &frameBuffer);
glBindFramebufferOES(GL_FRAMEBUFFER, frameBuffer); 
glFramebufferTexture2DOES(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_EXTERNAL_OES, outTexHandle, 0); // I get GL_INVALID_ENUM here
// set viewport, uniforms and draw 
glBindFramebufferOES(GL_FRAMEBUFFER, 0);
glDisable(GL_TEXTURE_EXTERNAL_OES);
Run Code Online (Sandbox Code Playgroud)

我的最终目标是通过在SurfaceTexture上应用一些过滤器来修改相机框架.因此,我的着色器程序同时具有输入和输出相同的GL_TEXTURE_EXTERNAL_OES纹理.这可能吗?如果没有,有没有解决方法?对于我的应用程序,输出纹理必须是GL_TEXTURE_EXTERNAL_OES,我不能使用GL_TEXTURE_2D纹理.

opengl-es render-to-texture

15
推荐指数
1
解决办法
2449
查看次数

标签 统计

opengl-es ×1

render-to-texture ×1