我有一个纹理,绑定到gl_纹理_外部_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_纹理_2d目标?
GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, textures[0]);提供错误

最佳答案

不能。纹理目标是纹理对象的基本部分。如果你有一个external texture,你不能把它当作GL_TEXTURE_2D。完全。
这意味着如果要绑定它,必须将其绑定为GL_TEXTURE_EXTERNAL_OES纹理。如果要在采样器中使用它,则该采样器的类型必须为samplerExternalOES而不是sampler2D(并且材质球必须启用适当的扩展)。等等。

关于android - 从GL_TEXTURE_EXTERNAL_OES将GLES纹理绑定(bind)到GL_TEXTURE_2D,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37258251/

10-11 03:52