我是 Google Cardboard + Unity 的用户,我想绘制自定义 3D 线条。为此,我在每个眼睛摄像头上放了一个脚本,看起来像这样:
void OnPostRender()
{
GL.InvalidateState();
GL.PushMatrix();
mat.SetPass(0);
GL.Begin( GL.LINES );
GL.Vertex(...);
GL.Vertex(...);
...
GL.End();
GL.PopMatrix();
}
虽然它在计算机上运行良好(甚至在 Oculus 上),但它在 Android 上的表现有所不同:线条正在画出视口的限制,这很烦人,因为最后绘制的视口污染了第一个视口。
我无法发布图像,但右眼线超过了左眼。我使用的是三星 Galaxy S3 + OpenGL ES 2.0(3.0 不适用于该设备)。有没有办法在 Android 上避免这种行为?
注意: GL.InvalidateState() 用于具有正确的颜色,否则在 android 上线条为黑色