![](/img/trans.png)
[英]What's the fastest way to draw a new fullscreen image each frame in OpenGL?
[英]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.