我目前正在研究 Apple 的 Metal API,但我无法理解如何实现渲染大量实例,因为每个实例都需要有自己的(部分)缓冲区。
假设我想绘制大约 50,000 个模型实例(我承认这相当荒谬)。每个实例都将其定位和骨骼动画数据存储在缓冲区中,假设每个实例 50 个关节。现在考虑到最多可以同时渲染三个帧,我需要这些实例缓冲区乘以帧数。
这将导致相当可笑的缓冲区大小,仅用于绘制实例。另外,如果当前实例无法容纳所有要渲染的对象的数据,应该如何实现不同数量的实例,分配更大的缓冲区?只需决定每帧的最大实例数?
我研究过的所有文章和教程似乎都表明:场景中存在最大数量的对象。