ARCore绑定纹理与GL_TEXTURE_2D不兼容
问题描述:
我试图将ARCore与我的自定义3D渲染引擎一起使用。ARCore绑定纹理与GL_TEXTURE_2D不兼容
我期待着配置我的背景(照相机的图片流)像往常一样进行渲染(因为我已经将其与其他AR库一起使用):创建OpenGL纹理,平面,将纹理设置为材质,并要求ARCore绑定纹理在更新,但似乎只有GLES11Ext.GL_TEXTURE_EXTERNAL_OES
可以使用(我用GL_TEXTURE_2D
)
它这是唯一的方式来绑定一个OpenGl渲染器的纹理?
答
是的,这是唯一的方法。 纹理必须是GL_TEXTURE_EXTERNAL_OES。 另外请注意,您需要修改片段着色器太:
#extension GL_OES_EGL_image_external : require
precision mediump float;
uniform samplerExternalOES texture;
varying vec2 v_textureCoords;
void main() {
gl_FragColor = texture2D(texture, v_textureCoords);
})";
你看看样品中的背景渲染器实现: https://github.com/google-ar/arcore-android-sdk/blob/master/samples/hello_ar_c/app/src/main/cpp/background_renderer.cc