Huan Di

Forum Replies Created

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • in reply to: 关于小引擎中添加渲染pass的问题 #11544 Score: 0
    Huan Di
    Participant

    客气了,很高兴能有帮助。

    我也是照猫画虎,想要了解比较深入应该要看vulkan的文档。

    in reply to: 关于小引擎中添加渲染pass的问题 #11511 Score: 0
    Huan Di
    Participant

    update:可以增加额外buffer,需要使用时再切换不同flags的buffer。如设置pipline:在coding grading pass输出到新的sampler buffer,buffer用于在anti aliasing pass中读取。

    https://github.com/huandzh/Pilot/commit/2ce2aabfe285735595e0eb2c156a61d6e22a9d29

    in reply to: 关于小引擎中添加渲染pass的问题 #11507 Score: 0
    Huan Di
    Participant

    我的作业新增的pass就是FXAA,现在是这么解决的:

    1. PAntiAliasingPass::setupDescriptorSetLayout 新增一个新的sampler
    2. PAntiAliasingPass::updateAfterFramebufferRecreate把frame buffer的图片给它
    3. 为了支持上一条,PMainCameraPass::setupAttachments需要去掉VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT,加上VK_IMAGE_USAGE_SAMPLED_BIT,以避免一系列vulkan validation error

    关于3:根据文档来看去掉VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT不影响性能,但可能影响debug。而加上VK_IMAGE_USAGE_SAMPLED_BIT有什么影响还没仔细调查,猜测可能对性能有影响。

    比较理想的解决方法可能是增加1个(或2个?odd even)buffer专门来存这个sampler的图片,那需要改动更多的代码,就先没在作业中实现了。而且这样每个pass又多了新的buffer,对性能可能也是有影响的。

    P.S.对Vulkan完全陌生,c++也是现学的,仅供参考。

    • This reply was modified 2 years, 6 months ago by Huan Di.
Viewing 3 posts - 1 through 3 (of 3 total)