shader "halflambert"
}subshader
// 層次細節 : 200
lod 200
// cg**
cgprogram
// 預處理指令
// su***ce surf : 指定此為suface型別的shader, 渲染函式為surf
// halflambert : 指定所使用的光照模型為自定義半蘭伯特光照模型
#pragma su***ce surf halflambert
// 自定義半蘭伯特光照模型
// lightdir引數 : 頂點到光源的方向向量
// atten引數 : 光照強度衰減值
inline float4 lightinghalflambert(su***ceoutput s, fixed3 lightdir, fixed atten)
// cg變數 : 與properties中的變數名保持一致
sampler2d _maintex;
// 輸入結構體
struct input
;// 著色函式
void surf(input in, inout su***ceoutput s)
endcg
}}
漫反射 逐畫素光照(半蘭伯特)
shader custom testshader subshader pass struct v2f v2f vert a2v v fixed4 frag v2f i sv target 計算漫反射光照模型 說明 1.頂點著色器不需要計算光照模型,只需要把世界空間下的法線傳遞給片元著色器即可。2.在...
漫反射 蘭伯特和半蘭伯特
蘭伯特定律 lambert is law 反射光線的強度與表面法線和光源方向之間夾角的余弦值成正比 漫反射公式 c diffuse c light m diffuse max 0,入射光線 的顏色和強度 材質 的漫反射係數 max 0,表面法線 光源方向的點積 弊端就是在模型光照無法達到的區域通常是...
漫反射光照模型
漫反射光照是用於對那些被物體表面隨機散射到各個方向的輻射的進行建模的,在漫反射中,視角的位置i是不重要的,因為反射是完全隨機的,因此可以認為在任何反射方向上的分布都是一樣的。但是入射光線的角度是很重要的。蘭伯特定律 反射光線的強度與表面法線和光源方向之間夾角的余弦值成正比。diffusecol li...