【发布时间】:2017-10-31 22:12:22
【问题描述】:
我一直在使用 Google 提供的 Arcore 演示代码并在 Android Studio 中工作,如果可以完成此任务,我想避免使用 Unity。
默认情况下,平面显示为白色三角形,负空间是透明的。我想将该计划更改为可以在整个环境中平铺的纹理,例如草纹理。
飞机使用的默认图像是一个名为 trigrid.png 的文件,该文件在 HelloArActivity.java 中定义。
我试图用一个只是草纹理的图像文件替换它,并将其命名为 floor.png 。这只是全白显示,根本不显示草。
}
try {
mPlaneRenderer.createOnGlThread(/*context=*/this, "floor.png");
} catch (IOException e) {
Log.e(TAG, "Failed to read plane texture");
}
我已经尝试添加
GLES20.glEnable(GLES20.GL_BLEND);
在 drawPlanes 函数中,但这似乎没有帮助。我还注释掉了 drawPlanes 中颜色的一些变化。
//GLES20.glClearColor(1, 1, 1, 1);
//GLES20.glColorMask(false, false, false, true);
//GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT);
//GLES20.glColorMask(true, true, true, true);
我不确定要显示纹理需要什么。它可能与 plane_fragment.shader 文件有关,但我对此没有任何经验。
任何见解都会有所帮助。
【问题讨论】: