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