Unity-ShaderLab:GrabPass
2021-04-14 11:03 作者:unity_某某師_高錦錦 | 我要投稿
GrabPass 是一種特殊通道類型,它把即將繪制對(duì)象時(shí)的屏幕內(nèi)容抓取到紋理中。在后續(xù)通道中即可使用此紋理,從而執(zhí)行基于圖像的高級(jí)效果。
語(yǔ)法
GrabPass 包含在子著色器內(nèi)部。它可采用兩種形式:
簡(jiǎn)單的?
GrabPass { }
?可將當(dāng)前屏幕內(nèi)容抓取到某個(gè)紋理中。在隨后的通道中可通過(guò)?_GrabTexture
?名稱訪問(wèn)該紋理。注意:這種抓取通道的形式將為使用它的每個(gè)對(duì)象執(zhí)行耗時(shí)的屏幕抓取操作。GrabPass { "TextureName" }
?可將當(dāng)前屏幕內(nèi)容抓取到紋理中,但僅為使用給定紋理名稱的第一個(gè)對(duì)象在每一幀執(zhí)行一次該操作。在后續(xù)通道中可通過(guò)給定紋理名稱訪問(wèn)該紋理。場(chǎng)景中有多個(gè)對(duì)象在使用 GrabPass 時(shí),這種方法更高效。
此外,GrabPass 還可以使用?Name?和?Tags?命令。
示例
以下是反轉(zhuǎn)先前渲染內(nèi)容的顏色的一種低效方法:
此著色器有兩個(gè)通道:第一個(gè)通道抓取渲染時(shí)對(duì)象后面的任何內(nèi)容,然后在第二個(gè)通道中應(yīng)用這些內(nèi)容。請(qǐng)注意,可使用反轉(zhuǎn)混合模式更高效地實(shí)現(xiàn)相同效果。
標(biāo)簽: