【问题标题】:OpenGL ES Degenerate Triangles With TRIANGLE_FAN?OpenGL ES使用TRIANGLE_FAN退化三角形?
【发布时间】:2013-03-27 09:19:27
【问题描述】:

在 OpenGL ES 中,是否可以使用退化三角形(面积为 0 的三角形)来分隔顶点数组中的 TRIANGLE_FAN 对象?还是只有 TRIANGLE_STRIP 才能做到这一点?

如果答案是否定的,将多个 TRIANGLE_FAN 顶点数组绘制调用批处理为一个的最佳方法是什么?

【问题讨论】:

    标签: android performance opengl-es


    【解决方案1】:

    你是对的,答案是否定的,因为所有三角形扇形三角形共享相同的顶点。

    如果您想批量处理多个三角形风扇,最好使用Vertex Buffer Objects 或带有GL_TRIANGLES 模式的VBO。会有一个小的索引缓冲区开销,但它会提供更好的灵活性。

    【讨论】:

    • 谢谢,这有帮助。此外,这里是another link 到特定于 Android / Java OpenGL ES 使用的 VBO 信息以及一些很好的示例。
    【解决方案2】:

    您还可以将表面三角测量为条带而不是扇形。它将允许您使用退化三角形并将您的绘制调用批处理为一个。

    如果您的表面是 n 边形,这很容易。只需更改顶点创建的顺序。与其绕过中心,不如选择一个顶点开始并通过在两侧迭代来生成其他顶点。这是Hexagon 的示例。左图使用三角条,中图使用扇形。

    【讨论】:

    • 这更像是一个评论而不是一个答案。
    • 啊,我没有足够的声誉来发布 cmets :(
    • 似乎是第 22 条,但获得这种声誉的最佳方式是提出好的问题、给出好的答案,并对有问题的文本进行良好的编辑。您每天的声望限制为 200,赏金和接受的答案不包括在该限制之内! ;)
    • 感谢您的建议
    • 所以这里要做的就是详细说明你的答案,使其不被删除,然后尝试回答更多问题。祝你好运。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多