为什么Piccolo中三帧并行渲染,但是Pass里面的attachments只有一份呢?

拜献
发布于

最近在看Piccolo的代码,发现一个问题。为什么三帧并行渲染,但是Pass里面的attachments只有一份呢?这样的话不同帧不是共用这些附件了吗?

7
评论 5
收藏 1
  • 你好呀,欢迎来到 Piccolo 社区。 在引擎中并不会"并行地"渲染,Piccolo 中用了三重缓冲(triple buffer)的交换链(swap chain)机制,保证了持续的渲染。而 attachment 描述了 render target 资源的格式,layout等信息,因此只有一份,同样的道理, pass 也只有一份。 你所说的资源冲突的问题,在进行绘制时才会出现,如:输出到显示器的缓冲区等。对这些资源,需要创建与 swap chain 相同数量的拷贝,在渲染时使用当前 swap chain 所对应的资源。
    展开4条回复