目前我正在编写一个计算着色器,它实现了行进立方体。但是我仍然在努力解决一些关于如何从计算着色器中获取三角形信息或其他一些动态数据的问题。
在我看来有两种方法:
- 创建一个足够大的SSBO(我认为,现在也可以创建一个具有动态大小的,但我不确定)并在着色器中使用原子计数器将我的数据写入缓冲区。但我认为,由于原子计数器,这是非常低效的。
- 分几个步骤做行进立方体的东西。首先,获取案例并将三角形的数量保存在纹理或其他缓冲区中。然后。使用前缀 sum 来获取三角形的数量。根据该总和创建一个缓冲区,并让每个着色器将其三角形信息写入缓冲区。
我知道这两种方式没有详细描述,但是理解思路应该足够了。我现在的问题是:还有其他很好的可能性可以从计算着色器中获取信息,我不知道吗?