XNA C#获得一个立方体的12个三角形面,给定(MIN,MAX)BoundingBox

时间:2010-04-27 04:31:34

标签: c# xna cube

有一个简单的方法或c#类来获得一个立方体的12个三角形 其中,只有(MIN,MAX)坐标是BoundingBox多维数据集已知的 我想使用PrimitiveType.TriangleList来渲染立方体的面,但不知道如何获取 静态索引由12个三角形组成的数组,可以由立方体的MIN,MAX顶点定义。

我正在使用C#和XNA。

1 个答案:

答案 0 :(得分:2)

我想出来......这对我有用..不确定它是否是通用的方式来做到这一点

static float a , b , h ;

        static Vector3 MinV = new Vector3(0f, 0f, 0f);
        static Vector3 MaxV = new Vector3(a, b, h);

        Vector3 topLeftBack = new Vector3(MinV.X, MaxV.Y, MinV.Z);
        Vector3 topRightBack = new Vector3(MaxV.X, MaxV.Y, MinV.Z);
        Vector3 bottomLeftBack = new Vector3(MinV.X, MinV.Y, MinV.Z); //min
        Vector3 bottomRightBack = new Vector3(MaxV.X, MinV.Y, MinV.Z);

        Vector3 topLeftFront = new Vector3(MinV.X, MaxV.Y, MaxV.Z);
        Vector3 topRightFront = new Vector3(MaxV.X, MaxV.Y, MaxV.Z);  //max  
        Vector3 bottomLeftFront = new Vector3(MinV.X, MinV.Y, MaxV.Z);
        Vector3 bottomRightFront = new Vector3(MaxV.X, MinV.Y, MaxV.Z);