这是在单个对象中加载单个纹理位置

     Bitmap textureBitmap = BitmapFactory.decodeStream(
        context.getAssets().open(diffuseTextureAssetName));
    GLES20.glActiveTexture(GLES20.GL_TEXTURE0);
    GLES20.glGenTextures(mTextures.length, mTextures, 0);
    GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, mTextures[0]);

    GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D,
        GLES20.GL_TEXTURE_MIN_FILTER, GLES20.GL_LINEAR_MIPMAP_LINEAR);
    GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D,
        GLES20.GL_TEXTURE_MAG_FILTER, GLES20.GL_LINEAR);
    GLUtils.texImage2D(GLES20.GL_TEXTURE_2D, 0, textureBitmap, 0);
    GLES20.glGenerateMipmap(GLES20.GL_TEXTURE_2D);
    GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, 0);


我需要使用Java代码将“多个图像纹理”加载添加到单个3D对象中。

GitHub:https://github.com/google-ar/arcore-android-sdk/issues/113

最佳答案

纹理渲染涉及两件事-多纹理和多纹理。 Multi-texturing基本上是同时应用多个纹理以产生最终输出。

我猜您指的是多个纹理,一个接一个地激活以渲染3D对象的一部分。看一下this C++ answer这表明了这种方法。

我所做的就是通过使用的材质来分离面,使材质和纹理处于活动状态-渲染所有面。对每组面孔重复相同的操作。

10-08 17:33