使法線紋理上儲存的資訊,將相關變數轉到切線空間進行統一計算。
漫反射由法線方向和光源方向求得,
高光由半方向和法線方向求得,
半方向由光源方向和法線求得,
環境光可以由系統內建變數拿到,
shader "custom/normaltangentspacemat"
//主貼圖
_bumpmap
("normal map"
,2d)
="bump"
//凹凸紋理貼圖
_bumpscale
("bump scale"
, float)=1
//凹凸程度
_specular (
"specular"
, color)=(
1,1,
1,1)
//高光顏色
_gloss (
"gloss"
,range(2
,256))
=20//高光範圍
}
subshader
//渲染模式
cgprogram//cg**開始
//頂點著色器
#pragma vertex vert
//片元著色器
#pragma fragment frag
//引用內建光照檔案
#include
"lighting.cginc"
fixed4 _color;
//總顏色定義
sampler2d _maintex;
//定義主貼圖
sampler2d _bumpmap;
//定義凹凸法線貼圖
float _bumpscale;
//凹凸程度
fixed4 _specular;
//高光顏色
float _gloss;
//高光範圍
float4 _maintex_st;
//主圖紋理縮放與偏移
float4 _bumpmap_st;
//凹凸紋理縮放與偏移
struct a2v
;struct v2f
;
v2f vert (a2v v)
; fixed4 frag (v2f f )
:sv_target
; endcg
}}
fallback "diffuse"
}
Shader 九 凹凸對映
凹凸對映 的兩種方法 1.在切線空間下計算 在切線空間下計算 凹凸對映 shader unlit nomalmapintangentspace bump 內建法線紋理,當沒有提供任何法線紋理時,bump 就對應了模型自帶的法線資訊 bumpmap texture 2d bump bumpscale則...
10 2 渲染紋理 Shader
於 馮樂樂 shader 入門精要 1.思路就是 新建乙個camera,這個攝像機的視角就是物體跟主攝像機反方向的視角,將此攝像機渲染到 rendertexture 我們的shader 只需要對 該 rendertexture 的 uv.x 取反即可,因為取樣攝像機跟我們實際看到的是相反的 額大概就...
Shader 高階紋理 立方體紋理
立方體紋理 cubemap 天空盒子 skybox是遊戲中模擬背景的一種方法,每個面使用的技術就是立方體紋理對映技術。建立用於環境對映的立方體紋理 1.提供一張具有特殊布局的紋理,類似於立方體展開圖的交叉布局 全景布局等。我們需要將texturetype設定為cubemap 2.使用camera.r...