簡體   English   中英

在繪制命令之間每幀設置任意數量的剪刀

[英]Set Arbitrary Amount Of Scissors Each Frame Between Draw Commands

我需要知道是否可以在多個繪圖命令之間更改剪刀矩形。

VkCmdSetScissor
VkCmdDraw..
VkCmdDraw..
VkCmdSetScissor
VkCmdDraw..
VkCmdDraw..
VkCmdSetScissor
VkCmdDraw..
VkCmdDraw..
VkCmdSetScissor

在上面的偽代碼中,我會將剪刀矩形設置為每組繪圖命令之間屏幕上的不同坐標。 剪刀每次都會有不同的尺寸。

目前,似乎只有最后一次調用VkCmdSetScissor才是最終被應用的。

我的應用程序需要在屏幕上設置幾十個不同的小剪刀來繪制 GUI 元素。 目前沒有辦法知道每幀需要多少剪刀,也沒有任何可以想象的方法知道在管道創建過程中需要多少剪刀。

是的,這是可能的,上面的偽代碼正是應該這樣做的。 當然,您必須在管道上設置VK_DYNAMIC_STATE_SCISSOR

我的問題是我使用單個VkCmdDraw命令來繪制整個 GUI。 在將各個 GUI 元素拆分為VkCmdDrawIndirectCommand並在每個適當的VkCmdDrawIndirect之間放置一個VkCmdSetScissor之后,一切都開始正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM