framebuffer OES不完整,android

时间:2017-02-11 16:22:05

标签: android opengl-es framebuffer

当我尝试创建一个帧缓冲OES时,我需要一些帮助来弄清楚我做错了什么。

.faqBlock{
margin-bottom:2em;
}
.faqBlock>span{
margin-bottom: 40px;
}
.faqBlock h2{
padding-bottom: 5px;
border-bottom: 1px solid #cf5630;
margin: 0px auto 10px auto;
font-size: 1.33em;
}
.faqBlock .faq{
margin: 1em auto 1em auto;
display:flex;
flex-flow:column;
line-height: 1.2em;
font-size: 1.2em;
}
.faq p{
border-bottom: 1px solid rgba(123,26,29,0);
}
.faqBlock .faqA{
display:none;
transition: all 0.5s ease;
line-height: 1.2em;
max-width: 800px;
margin: 0px auto 1em 20px;
}

我得到的状态是36055,我不知道为什么它不完整。 有关更多信息,我想要做的事情是这样的:

我想使用外部OES纹理(来自媒体播放器),让我们在下一个管道中将其称为tex0: tex0 - > GPU处理 - > (使用帧缓冲区)结果tex1。 tex1也必须是GL_TEXTURE_EXTERNAL_OES。

我已尝试并成功使用绑定到帧缓冲区的TEXTURE_2D 并且使用普通的帧缓冲器工作。

所以我需要一些帮助,无论是我在我的代码中做错了什么,或者找到另一种方式(可能使用普通的帧缓冲)来从GPU获得TEXTURE EXTERNAL OES。

非常感谢。

1 个答案:

答案 0 :(得分:0)

man页开始,了解glTexImage2D的目标[第一个参数]:

  

指定活动纹理单元的目标纹理。

     

必须为GL_TEXTURE_2D,                   GL_TEXTURE_CUBE_MAP_POSITIVE_X,                   GL_TEXTURE_CUBE_MAP_NEGATIVE_X,                   GL_TEXTURE_CUBE_MAP_POSITIVE_Y,                   GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,                   GL_   TEXTURE_CUBE_MAP_POSITIVE_Z,或
  GL_T   EXTURE_CUBE_MAP_NEGATIVE_Z。

您正试图在glTexImage2D上调用GLES11Ext.GL_TEXTURE_EXTERNAL_OES,但这不是以上之一。

根据到目前为止的有限研究,您实际上必须将OES纹理绘制到绑定到texture_2d的帧缓冲区中。从那里,您可以通过帧缓冲区或texture_2d访问像素。