【问题标题】:Google Cardboard : GL.LINES is drawing off limits for each eyeGoogle Cardboard:GL.LINES 正在为每只眼睛画出界限
【发布时间】:2015-04-15 16:04:12
【问题描述】:

我是 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 上避免这种行为?

NB : GL.InvalidateState() 用于具有正确的颜色,否则线条在 android 上为黑色

【问题讨论】:

    标签: android unity3d google-cardboard


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 感谢您的回复。但是我想找到一种使用 GL 的方法,因为我不想为仅用于调试的插件付费。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-27
    • 2014-12-21
    • 2020-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多