ShaderLab学习小结(一)最简化的顶点片断Shader
我會把這段時間學(xué)的shader知識,一篇篇的寫出來,并不高深,我是初學(xué)者,而且還在學(xué)習(xí)中,就是做個總結(jié)以及備忘。如果能夠?qū)δ阌袔椭?#xff0c;那再好不過,如果發(fā)現(xiàn)我寫的內(nèi)容有不正確的地方,也請多多指教。
運行環(huán)境:
Win10 x64
Unity 5.5.4
如上圖,使用這個最簡Shader材質(zhì)的Cube只是顯示純白色,和光照什么的沒有任何關(guān)系,也沒有陰影。
在頂點程序vert中,轉(zhuǎn)換物體坐標(biāo)至投影坐標(biāo)系,使物體在顯示屏上能正確顯示(形狀及位置)
將定義好的v2f輸出,在片斷程序frag中輸入來自頂點程序的v2f,定義一個顏色,并輸出。
最終Cube具有正確的形狀和位置,只顯示純白色。
在頂點程序vert中,mul函數(shù)是cg函數(shù),作用是矩陣變換。如本例
mul(UNITY_MATRIX_MVP, v.vertex);
將物體原始的自身物體坐標(biāo)系坐標(biāo),四維向量v.vertex用UNITY_MATRIX_MVP轉(zhuǎn)化至投影(屏幕)坐標(biāo)系。
UNITY_MATRIX_MVP是內(nèi)建矩陣,直接使用。
appdata_base定義在unitycg.cginc中,通過#include "unitycg.cginc"已經(jīng)將文件引用。
struct:結(jié)構(gòu)體
float4:float類型的四維向量 (x,y,z,w)或(r,g,b,a)
fixed4:fixed類型的四維向量 (x,y,z,w)或(r,g,b,a),精度不高,但用于顏色足夠了
fixed4 frag(v2f IN):COLOR,其中:COLOR是語義定義,說明這個程序輸出的是顏色,不定義會報錯。
轉(zhuǎn)載于:https://blog.51cto.com/shuxiayeshou/2065336
總結(jié)
以上是生活随笔為你收集整理的ShaderLab学习小结(一)最简化的顶点片断Shader的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机病毒的传播途径(计算机病毒是怎么进
- 下一篇: 高端大气烟酒店名字大全大气性烟酒店起名8