在openGL对象周围创建边界框

时间:2010-07-27 16:36:57

标签: android opengl-es

我已经像这样创建了一个openGL广场。

            final float array1[] = new float[] {
            //Front face
            lx, ly, hz,
            lx, hy, hz,
            hx, ly, hz,
            hx, hy, hz
    };

我也有雷。我现在想在我绘制的每个方格周围放置边界框,以便我可以检查它们是否相交。我该怎么做呢?

感谢。

2 个答案:

答案 0 :(得分:2)

您不需要在方块周围放置边界框。实际上,在正方形的情况下,边界框正方形。

边界框只是一个概念:一个几何外壳,其中一些其他(实际)几何可以在概念上存在。这个想法是,检查矩形的4个角(碰撞等)要比检查复杂多边形对象的每个顶点更容易(也更快)。

关于碰撞检测的特殊问题,您应该将光线投影到每个方块定义的平面上。如果平面上的点位于所有角落之间,那么射线会撞击正方形。

答案 1 :(得分:1)

OpenGL没有边界框的概念,只是与碰撞检测相关的数学概念。

因此,基本上,只需创建一些框数据结构,并沿顶点存储边界框(理想情况下在同一坐标空间中),并在必要时进行碰撞检查。