Unity Shader中可用的變數型別整理

2021-10-03 22:17:06 字數 1505 閱讀 3761

原文連線:

//float型別,下面對應變數可以用flaot,half,fixed

_name("inspector name", float) = defaultvalue

//float型別,可以用乙個滑動條控制範圍,下面對應變數可以用float,half,fixed

_name("inspector name", range(min, max)) = defaultvalue

//顏色型別,下面對應變數可以用float4,half4,fixed4,如果是顏色,盡量fixed4

_name("inspector name", color) = (defaultvalue.r, defaultvalue.g, defaultvalue.b, defaultvalue.a)

//2d紋理型別,預設紋理可以為空,白,黑,灰,凹凸,下面對應變數sampler2d

_name("inspector name", 2d) = "" / "white" / "black" / "gray" / "bump"

//長方形紋理,非2次方大小的紋理,其同上

_name("inspector name", rect) = "" / "white" / "black" / "gray" / "bump"

//立方體貼圖cubemap

_name("inspector name", cube) = ""

//傳遞乙個vector4向量

_name("inspector name", vector) = (defaultvalue.x, defaultvalue.y, defaultvalue.z, defaultvalue.w)

//傳遞乙個toggle向量

[materialtoggle(_inspector_on)] _name("inspector name", float) = 0/1

#pragma multi_compile _inspector_off _inspector_on

#ifdef _inspector_on

plan a

#else

plan b

#endif

//注:上面紋理後面{}裡面是一些紋理texgen,lightmapmode光照模式等內容

UnityShader中的數學(矩陣)

ps 本文章摘取自 unityshader入門精要 一書。unity matrix mvp 把模型空間座標轉換為裁剪空間座標 unity matrix mv 把模型空間座標轉換為觀察空間座標 unity matrix v 把世界空間座標轉換為觀察空間座標 unity matrix p 把觀察空間座標...

Unity Shader 中實現凹凸對映

每乙個頂點都有自己的切線空間。在該空間中,z軸是頂點的法線方向,x軸是頂點的切點方向,而y方向則是兩者叉積的方向。我們需要在頂點著色器中把視角方向和光照方向從模型空間變換到切線空間中,即我們需要從模型空間到切線空間的變換矩陣。而很好求的是,這個變換矩陣的逆矩陣正是在頂點著色器中切線 x軸 副切線 y...

PCL中可用的PointT型別

pcl中可用的pointt型別 pointxyz 成員變數 float x,y,z pointxyz是使用最常見的乙個點資料型別,因為他之包含三維xyz座標資訊,這三個浮點數附加乙個浮點數來滿足儲存對齊,可以通過points i data 0 或points i x訪問點x的座標值 union po...