我需要知道是否可以在多个绘制命令之间更改剪刀矩形。
VkCmdSetScissor
VkCmdDraw..
VkCmdDraw..
VkCmdSetScissor
VkCmdDraw..
VkCmdDraw..
VkCmdSetScissor
VkCmdDraw..
VkCmdDraw..
VkCmdSetScissor
在上面的伪代码中,我将剪刀矩形设置为每组绘图命令之间在屏幕上的不同坐标。每次剪刀的大小都会不同。
当前,似乎只有对VkCmdSetScissor
的最后一次调用才最终被应用。
我的应用程序需要在屏幕上设置数十种不同的小剪刀才能绘制GUI元素。目前尚无办法知道每帧需要多少个剪刀,也没有想像的方法可以知道在管道创建过程中需要多少个剪刀。
答案 0 :(得分:0)
是的,这是可能的,上面的psudocode正是应该这样做。当然,您必须在管道上设置<span id="time"></span>
。
我的问题是我正在使用单个VK_DYNAMIC_STATE_SCISSOR
命令来绘制整个GUI。将各个GUI元素拆分为VkCmdDraw
并将VkCmdDrawIndirectCommand
放在每个适当的VkCmdSetScissor
之间之后,一切开始正常工作。