我正在尝试将ARCore与我的自定义3D渲染引擎一起使用。
我期待配置我的背景(相机的图片流)照常渲染(因为我已经将它与其他AR lib一起使用):创建一个OpenGL纹理,一个平面,设置纹理作为素材,并要求ARCore绑定纹理更新,但似乎只能使用GLES11Ext.GL_TEXTURE_EXTERNAL_OES
(我使用GL_TEXTURE_2D
)
这是绑定OpenGl渲染器纹理的唯一方法吗?
答案 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