You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Metal中无需结束Render Pass即可存储单个Render Pass Attachment的可行性及实现方法咨询

Metal中无需结束Render Pass即可存储单个Render Pass Attachment的可行性及实现方法咨询

我现在在做一个模拟器,遇到了Metal渲染里的一个问题:我想在着色器中采样当前Render Pass的某个附件内容,但附件要到Render Pass结束时才会写入主存。如果为每个绘制调用都新建一个Render Pass,虽然能保证拿到最新的附件内容,但这样开销太大了——每个附件都要先存储再在下一个Render Pass里加载,完全不划算。

我在想,有没有办法不用结束当前Render Pass,只把某一个附件写入主存?我考虑过用Tile Shader访问Tile Memory,然后把它写入到纹理里,但不确定在当前Render Pass中写入正在使用的纹理是否合法?

另外我也知道,用可编程混合可能是更常规的方案,但这需要分析着色器代码,把纹理采样提升为framebuffer fetch,对于模拟器来说这个工作量实在太大了,完全不值得去做。

提前感谢各位的解答!

备注:内容来源于stack exchange,提问作者Samo77

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 14:49:37