TA之路 Shader學習09(遮罩紋理)

2021-10-05 00:00:00 字數 1284 閱讀 3083

遮罩允許我們可以保護某些區域,使他們免於某些修改。例如:我們希望模型表面某些區域的反光強一些,某些區域弱一些,為了得到更加細膩的效果,我們就可以使用遮罩紋理控制光照。另一種常見的應用是用於製作丟性材質時需要混合多張,例如表現草地的紋理,表現石子4的紋理,表現裸露土地的紋理等等,遮罩紋理可以控制如何混合這些紋理。

// upgrade note: replaced 'mul(unity_matrix_mvp,*)' with 'unityobjecttoclippos(*)'

shader "test/7-4"

_bumpmap

("bumpmap"

,2d)

="bump"

_bumpscale

("bumpscale"

,float)=

1_specularmask

("specularmask"

,2d)

="white"

_specularscale

("specularscale"

,float)=

1//控制遮罩影響度

_specular

("specular"

,color)=(

1,1,

1,1)

_gloss

("gloss"

,range(8

,256))

=20} subshader

cgprogram

#include

"lighting.cginc"

#pragma vertex vert

#pragma fragment frag

fixed4 _color;

sampler2d _maintex;

float4 _maintex_st;

sampler2d _bumpmap;

float _bumpscale;

sampler2d _specularmask;

float _specularscale;

fixed4 _specular;

float _gloss;

struct a2v

;struct v2f

; v2f vert

(a2v v)

//使用遮罩紋理的地方是片元著色器,使用它控制模型表面的高光反射強度

fixed4 frag

(v2f i)

:sv_target

endcg}}}

TA之路 Shader學習01

shader可以認為是一種渲染命令,由opengl或者dx進行解析,來控制渲染豐富多彩的圖形。在unity中,mesh filter儲存乙個mesh 模型的網格,三角面的一些頂點資訊 mesh render用來渲染乙個模型的外觀,按照mesh給它顏色,通過material控制模型渲染的樣子,mate...

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時,可以保護表面不受該屬性的影響。總而言之,使用遮罩紋理可以...