首页 > Web开发 > 详细

metal2 里 programmable blending 和image block的区别

时间:2019-07-08 11:36:00      阅读:117      评论:0      收藏:0      [点我收藏+]

programmable blending 

刚接触这个概念的时候 挺激动的 因为能解决很多管线里面的问题 比如

切一次rt再切回来

为了做read write same rt

有了这个 就不用切啦 可以在一个pass里 read write同一块rt啦

还能解决画了opque 切出去做后处理 再切回来画transparent 本质上不用pb无法用一个pass解决还是因为这里为了给transparent做softedge时要读原来的depth所以和上面是一样的

这个的核心就是用attachment 来comebine rts(就像mrt所以这就是framebuffer fetch -ogl那个扩展的功能)

 

理解到这层 我之前把它pb和image block弄混了

 

image block能做的是 控制tile的那个layout

它的语法是这样

技术分享图片

FragData是个数据结构

像这样

struct FragData

{

half4 color;

}

Imageblock的存在可以在中途改变这种layout

技术分享图片

像这样或者这样

技术分享图片

 

技术分享图片

所以这货 image block本质上就是个pixel local storage呀

 

对比看 programmable blending它的语法和数据是这样 

技术分享图片

把input gBuffers  output了 

metal2 里 programmable blending 和image block的区别

原文:https://www.cnblogs.com/minggoddess/p/11150066.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!