我有一个纹理,绑定到GL_TEXTURE_EXTERNAL_OES目标
GLES20.glBindTexture(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, textures[0]);
GLES20.glTexParameteri(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, GLES20.GL_TEXTURE_WRAP_S, GLES20.GL_CLAMP_TO_EDGE);
GLES20.glTexParameteri(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, GLES20.GL_TEXTURE_WRAP_T, GLES20.GL_CLAMP_TO_EDGE);
GLES20.glTexParameteri(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, GLES20.GL_TEXTURE_MIN_FILTER, GLES20.GL_NEAREST);
GLES20.glTexParameteri(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, GLES20.GL_TEXTURE_MAG_FILTER, GLES20.GL_NEAREST);如何将其重新绑定到GL_TEXTURE_2D目标?GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, textures[0]);提供了错误
发布于 2016-05-16 16:30:14
你不能。纹理目标是纹理对象的基本部分。如果你有一个外部纹理,你不能把它当作一个GL_TEXTURE_2D。完全没有。
这意味着,如果要绑定它,就必须将其绑定为GL_TEXTURE_EXTERNAL_OES纹理。如果您想在采样器中使用它,则该采样器必须是samplerExternalOES类型,而不是sampler2D类型(并且您的着色器必须启用适当的扩展)。以此类推。
https://stackoverflow.com/questions/37258251
复制相似问题