【问题标题】:Android opengles 2d cullingAndroid opengles 2d 剔除
【发布时间】:2011-01-22 23:15:17
【问题描述】:

谁有这个主题的教程链接?我似乎找不到任何与 2d 剔除有关的东西。或者,如果这里有人可以解释它是如何完成的。我目前使用 gluOrtho2D 和 gluLookAt。

【问题讨论】:

    标签: android opengl-es 2d culling


    【解决方案1】:

    GL 不应在您在 gluOrtho2D 中定义的剪切平面之外绘制

    让自己相信这一点的一种方法是比较显示地图的一部分与缩小并显示整个地图时获得的帧速率。

    对于较大的场景,这可能还不够。在这种情况下,使用如下代码确定哪些多边形完全位于视锥体之外:

    http://web.archive.org/web/20030207104008/http://www.markmorley.com/opengl/frustumculling.html

    【讨论】:

    • 所以我是否正确地认为我可以绘制包含 200 个三角形顶点的整个顶点数组,如果它们超出定义的剪切平面,它们应该被剔除?如果我将相机向右移动 1 个正方形的长度会怎样?
    • 无论您将相机放在哪里,它们都会被剔除。如果您移动相机,剪裁​​平面也会随之移动。
    【解决方案2】:

    如果您的意思是几何剔除,那么它不是就像检查您正在绘制的多边形是否位于您的 gluOrtho2D 和 gluLookAt 定义的矩形之外一样简单吗?如果在外面,那就不要画了。

    【讨论】:

    • 我做到了,但我无法通过的墙是如何不画画。我创建了一个大“地图”,比如 100x100,并将顶点存储在顶点数组中。我不明白的是,我指向要绘制的顶点数组,所以它会绘制整个地图。
    • 我过去处理类似问题的方法是使用元素数组进行绘制。所以对于 100x100 的地图,我将拥有完整的顶点信息数组,然后是 20x20 的元素向量数组绘制自己的 5x5 数据块。这样我就可以很容易地剔除 5x5 的顶点集
    猜你喜欢
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 2011-10-22
    • 1970-01-01
    • 2013-07-03
    • 1970-01-01
    • 1970-01-01
    • 2012-10-25
    相关资源
    最近更新 更多