2017-10-12 139 views
0

我試圖將ARCore與我的自定義3D渲染引擎一起使用。ARCore綁定紋理與GL_TEXTURE_2D不兼容

我期待着配置我的背景(照相機的圖片流)像往常一樣進行渲染(因爲我已經將其與其他AR庫一起使用):創建OpenGL紋理,平面,將紋理設置爲材質,並要求ARCore綁定紋理在更新,但似乎只有GLES11Ext.GL_TEXTURE_EXTERNAL_OES可以使用(我用GL_TEXTURE_2D

它這是唯一的方式來綁定一個OpenGl渲染器的紋理?

回答

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); 
    })"; 

你看看樣品中的背景渲染器實現: https://github.com/google-ar/arcore-android-sdk/blob/master/samples/hello_ar_c/app/src/main/cpp/background_renderer.cc