我应该有一个体素类,还是在一个块中处理所有数据?

时间:2017-03-29 00:15:06

标签: c# voxel

我正在为Unity制作一个个人体素化地形系统,​​后来我可以将其转换为C ++,因为便携式代码很方便。我也计划使用Marching立方体,并且我已经取得了不错的结果出现在一个单一的块中。我最近也提出了一个系统,如果顶点的密度为0,则不会产生体素类。

我知道早期优化是一个令人讨厌的想法,但我对此主题感到好奇。

将所有数据处理并存储在一个块中,或继续使用像我现在这样的体素类,性能会更好吗?

只是想知道我有什么,这里有一些伪代码。

class voxel
{
    Vector3 Vertices[8]
    void Polygonize()
    // This filters a list of triangles and all that.
}

class chunk
{
    int GridSize
    Voxel vox[GridSize][GridSize][GridSize]
    float Density[GridSize + 1][GridSize + 1][GridSize + 1]

    void GenerateMatrix()
    {
        for every voxel in Density
        {
            if Density[x, y, z]  > 0
            {
                // Do all the things.
            }
        }
    }
}

0 个答案:

没有答案