首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vulkan渲染-表面的部分

Vulkan渲染-表面的部分
EN

Stack Overflow用户
提问于 2022-02-17 18:55:33
回答 2查看 228关注 0票数 0

如何在表面的一部分渲染vulkan帧缓冲区(VkImage)?当我在框架缓冲区中绘制时,vulkan用vkColorClear清除所有表面。

该表面有800x600,但我希望vulkan渲染300x200使用一个偏移量100x100,例如。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-02-17 20:03:46

在开始呈现传递时,提供VkRenderPassBeginInfo对象。在此对象中是renderArea矩形,它定义呈现传递将影响的每个附件图像的区域。此区域之外的任何附件像素都不受呈现传递操作的影响,包括清晰的load op和vkCmdClearAttachments

请注意,renderArea受呈现区域粒度的限制,这是从vkGetRenderAreaGranularity查询的。

票数 2
EN

Stack Overflow用户

发布于 2022-02-17 20:03:06

您可以通过将VkGraphicsPipelineCreateInfo结构中的视图矩形和视图端口设置为要呈现的分区来子集窗口。您可以使用vkCmdSetViewport()在绘图时动态配置视图端口。

对于VkCmdClearAttachments(),您可以通过pRects参数设置清除区域(它忽略viewport)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71163888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档