我最近完成了一个地形生成系统的工作,该系统利用GPU生成该地形的噪声并计算每个地形块的顶点和三角形。
在完全发挥作用之后,我一直在尽力对其进行最佳化,并且我注意到在存储有大量数据的缓冲区上调用ComputeBuffer.GetData()
可能会非常昂贵。
这样的缓冲区之一就是存储地形块的网格的三角测量数据的缓冲区,该数据随后用于为场景中的地形块GameObject
创建实际的网格。
所以我的问题是:有没有一种方法可以跳过将数据从GPU传回CPU生成网格的工作?也就是说,是否有一种方法可以直接从我最初用来生成三角形的GameObject
到场景中为ComputeShader
生成网格?
谢谢!