漫反射 蘭伯特和半蘭伯特

2021-08-22 08:21:24 字數 717 閱讀 7899

蘭伯特定律(lambert is law);

反射光線的強度與表面法線和光源方向之間夾角的余弦值成正比;

漫反射公式:c diffuse=(c light * m diffuse)max(0, (入射光線 的顏色和強度 * 材質 的漫反射係數)max(0, 表面法線 *光源方向的點積)

弊端就是在模型光照無法達到的區域通常是全黑的,沒有任何明暗變化。

半蘭伯特光照模(half lambert);

c diffuse=(c light * m diffuse)(0.5( 背面無光也可以有明暗變化

半蘭伯特是沒有任何物理依據的,他僅僅是乙個視覺加強技術

漫反射 逐畫素光照(半蘭伯特)

shader custom testshader subshader pass struct v2f v2f vert a2v v fixed4 frag v2f i sv target 計算漫反射光照模型 說明 1.頂點著色器不需要計算光照模型,只需要把世界空間下的法線傳遞給片元著色器即可。2.在...

漫反射著色 建立半蘭伯特光照模型

shader halflambert subshader 層次細節 200 lod 200 cg cgprogram 預處理指令 su ce surf 指定此為suface型別的shader,渲染函式為surf halflambert 指定所使用的光照模型為自定義半蘭伯特光照模型 pragma su...

Note Unity Shader 漫反射光照模型

公式 逐頂點與標準對比 為了使用在properties中的宣告的屬性,需要定義乙個和該屬性型別相匹配的變數!重點是變數!這是個變數!通過這樣的方式,我們就可以得到漫反射公式所需引數之一,材質的漫反射屬性 逐頂點光照會出現一些鋸齒,對於細分模型較低的模型,逐頂點會出現問題 逐畫素光照會在背光區,模型外...