shader可以認為是一種渲染命令,由opengl或者dx進行解析,來控制渲染豐富多彩的圖形。
在unity中,mesh filter儲存乙個mesh(模型的網格,三角面的一些頂點資訊);mesh render用來渲染乙個模型的外觀,按照mesh給它顏色,通過material控制模型渲染的樣子,material中包含貼圖(可以沒有,也可以是單純的顏色)和shader。
編寫shader使用的語言:
opengl:glsl(多用於移動端)
directx:hlsl(多用於pc端)
nvidia:cg(可跨平台使用)
unity shader的分類:
(使用的是shaderlab編寫unity中的shader)
1:表面著色器:su***ce shader(實際上是對頂點/片元著色器的封裝,使用方便)
2:頂點/片元著色器:vertex/fragment shader(可實現的效果更豐富)
3:固定函式著色器:fixed function shader(已經棄用)
TA之路 Shader學習09(遮罩紋理)
遮罩允許我們可以保護某些區域,使他們免於某些修改。例如 我們希望模型表面某些區域的反光強一些,某些區域弱一些,為了得到更加細膩的效果,我們就可以使用遮罩紋理控制光照。另一種常見的應用是用於製作丟性材質時需要混合多張,例如表現草地的紋理,表現石子4的紋理,表現裸露土地的紋理等等,遮罩紋理可以控制如何混...
TA之路 Shader學習010(漸變紋理)
漸變紋理一般用於插畫風格的渲染效果製作。shader test 7 3 儲存漸變紋理 specular specular color 1,1,1,1 gloss gloss range 8 256 20 subshader cgprogram include lighting.cginc pragm...
shader學習之路 紋理遮罩
遮罩可以保護某些區域,使他們免於某些修改。例如 模型表面某些區域反光強烈一些,而某些區域弱一些,或者用於混合多張紋理 流程 通過取樣得到這招紋理的紋理素值,然後使用其中某個 或某幾個 通道的值來與某種表面屬性進行相乘,這樣,當該通道的值為0時,可以保護表面不受該屬性的影響。總而言之,使用遮罩紋理可以...