ARCore绑定纹理与GL_TEXTURE_2D不兼容

时间:2017-10-12 14:22:40

标签: android opengl-es arcore

我正在尝试将ARCore与我的自定义3D渲染引擎一起使用。

我期待配置我的背景(相机的图片流)照常渲染(因为我已经将它与其他AR lib一起使用):创建一个OpenGL纹理,一个平面,设置纹理作为素材,并要求ARCore绑定纹理更新,但似乎只能使用GLES11Ext.GL_TEXTURE_EXTERNAL_OES(我使用GL_TEXTURE_2D

这是绑定OpenGl渲染器纹理的唯一方法吗?

1 个答案:

答案 0 :(得分:0)

是的,这是唯一的方法。 纹理必须是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);
    })";

您可以查看示例中的Background Renderer实现: https://github.com/google-ar/arcore-android-sdk/blob/master/samples/hello_ar_c/app/src/main/cpp/background_renderer.cc