假设我在随机位置渲染简单的立方体。
将其中 3 个作为立方体的起始数量,应用程序获取一个VkBuffer
句柄并将其绑定到 a VkDeviceMemory
,以便将所有立方体的模型矩阵连续存储在其中,然后着色器通过描述符集访问该句柄。VkDeviceMemory
对这 3 个立方体有足够的内存。
我想要做的是,每次用户按下一个键时,一个新的立方体应该在某个地方弹出。我的问题是,我应该如何调整该内存的大小?你能概述一下我应该经历的步骤吗?
我意识到我可以为每个立方体使用单独的VkBuffer
/VkDeviceMemory
但我不想这样做。我读到的所有地方都说这是一种反模式。
我是否应该丢弃VkDeviceMemory
,分配一个大小合适的新的,然后收工?描述符集呢,它们需要任何特殊处理吗?
在我读过的某些地方,您可以分配非常大的数据块,因此在处理越来越多的多维数据集时,您是安全的因为已经达到了极限。有没有办法绕过这个自我施加的限制?
编辑:我也意识到一次分配一小块是一个坏主意。我感兴趣的是重新分配本身,以及它需要什么。