Vulkan,多个对象使用相同的统一缓冲区吗?

时间:2019-01-22 13:37:03

标签: buffer vulkan

我正在学习Vulkan API,但遇到了一些“问题”:

当前,我的程序能够使用Projection-View-Model矩阵转换在轴原点绘制一个立方体:

我正在使用3个image / imageViews / framebuffers,所以对于每个转换矩阵,我都有一个大小为3的矢量来容纳它们,并且一切工作正常(验证层等没有错误)...问题是:

我现在想在立方体附近绘制另一个对象,所以我以为我只需要每帧更新一次模型矩阵两次,第一次是放置立方体,第二次是另一个对象,但这不能工作,因为注册命令缓冲区时并不会立即绘制该多维数据集,但是在提交该多维数据集时,最终,该命令缓冲区将仅对多维数据集和其他对象使用模型矩阵的第二次更新:

如何处理这种情况?

谢谢。

1 个答案:

答案 0 :(得分:0)

使统一缓冲区更大,将第二个矩阵放在第一个矩阵之后,然后将第二个绘制指向统一缓冲区中的正确偏移量。

您可以使用单独的描述符或动态偏移量。