UnityShader之Shader格式篇【Shader资料1】
關(guān)于Shader,在Unity里面我們一般叫做ShaderLab,只要你的職業(yè)是與渲染搭邊,Unity就與ShaderLab有著直接的關(guān)聯(lián),你都應(yīng)該試著去學(xué)會(huì)它,其實(shí)我們?cè)谛率治从腥腴T的時(shí)候,我們總是認(rèn)為這是個(gè)很遙遠(yuǎn)的東西,只要我們有一次理解了,我們就會(huì)發(fā)現(xiàn)ShaderLab其實(shí)并不難。
每一個(gè)Shader,我們從最簡(jiǎn)單的方式去著手理解,你只需要把它想象成一個(gè)無(wú)限循環(huán)執(zhí)行的函數(shù)即可。可能這樣也有部分同學(xué)還是很難理解。那我寫個(gè)代碼我們?cè)囍鴣?lái)理解它。
public void ShaderLab(object parm[])
{
函數(shù)體;
SharderLab(parm[]); //遞歸調(diào)用
}
我們?cè)偃フ{(diào)用它 ShaderLab(parm[]);。
我們通過(guò)類似這種方式的形式去理解它,我們大家理解了吧,這樣把ShaderLab函數(shù)看作是一個(gè)Shader即可,我們由表及里,一步一步往Shader深入的地方去邁,記住步子邁大了就會(huì)扯著蛋,我們通過(guò)循序漸進(jìn)的方式來(lái)學(xué)習(xí)。
對(duì)于整體的ShaderLab,調(diào)用的內(nèi)部接口實(shí)現(xiàn),Unity已經(jīng)幫我們做好了,這里不深入探討,因?yàn)楣P者也不了解內(nèi)部實(shí)現(xiàn),同學(xué)們也沒有必要現(xiàn)在就去深究這個(gè)問(wèn)題,因?yàn)楝F(xiàn)階段沒學(xué)會(huì)Shader的情況下糾結(jié)這個(gè)是沒有任何意義的,只會(huì)對(duì)現(xiàn)在的學(xué)習(xí)造成干擾。
Shader的格式如下,不要問(wèn)我為什么內(nèi)容這么少,因?yàn)镾hader的內(nèi)容就是這么少,233333:
Shader "------" //這里省略號(hào)表示Shader的路徑和名字,例如Custom/shaderEg {Properties{_Color ("Main Color", Color) = (1,.5,.5,1) //傳入一個(gè)顏色//這片區(qū)域是傳入?yún)?shù),目前一共是分為七種類型,我們后來(lái)再詳說(shuō) } SubShader{Pass{//渲染通道,一般Shader的代碼主要是寫在這片區(qū)域 } } }
?
轉(zhuǎn)載于:https://www.cnblogs.com/vsirWaiter/p/5988972.html
總結(jié)
以上是生活随笔為你收集整理的UnityShader之Shader格式篇【Shader资料1】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Vagrant使用简介
- 下一篇: Bootstrap框架系列 - 初识