1

我是 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 上线条为黑色

4

1 回答 1

0

对您的问题略有不同的看法:

当我必须在世界上画线时,我喜欢使用 Vectrosity:

http://www.starscenesoftware.com/vectrosity.html https://www.assetstore.unity3d.com/en/#!/content/82

您设置了线条,它们是持久的(但可编辑)。由于它们存在于世界中,因此它们可以很好地呈现立体效果。

于 2015-04-16T01:06:25.823 回答