shader之 多光源漫反射以及陰影

2021-08-14 01:06:42 字數 1220 閱讀 6872

shader "unlit/mullight"

}subshader

//cgprogram

#pragma vertex vert

#pragma fragment frag

#include "unitycg.cginc"

#pragma target 3.0

//衰減與陰影的實現

#include "autolight.cginc"//

//fwdadd:forwardbase的陰影顯示,在下面的forwardadd裡得用fwdadd; 必須結合fallback,兩者缺一不可

#pragma multi_compile_fwdadd_fullshadows//

sampler2d _maintex;

float4 _maintex_st;

//定義乙個燈光,名字為固定格式,會自動取場景中燈光

float4 _lightcolor0;//

;struct v2f

;fixed4 frag (v2f i) : sv_target

endcg

}//多盞燈疊加

pass//

//forwardadd :多燈混合//

blend one one//

cgprogram

#pragma vertex vert

#pragma fragment frag

#include "unitycg.cginc"

#pragma target 3.0

//衰減與陰影的實現

#include "autolight.cginc"//

//fwdadd:forwardadd的陰影顯示,在上面的forwardbase裡得用fwdbase; 必須結合fallback,兩者缺一不可

#pragma multi_compile_fwdadd_fullshadows//

sampler2d _maintex;

float4 _maintex_st;

//定義乙個燈光,名字為固定格式,會自動取場景中燈光

float4 _lightcolor0;//

;struct v2f

;fixed4 frag (v2f i) : sv_target

endcg}}

//需要產生陰影

fallback "diffuse"

}

Unity shader實現多光源漫反射以及陰影

shader unlit mullight subshader cgprogram pragma vertex vert pragma fragment frag include unitycg.cginc pragma target 3.0 衰減與陰影的實現 include autolight.c...

shader高光反射漫反射學習

高光反射 會受到相機方向的影響 specular 直射光 pow max cos 0 10 shader效果 類似於乙個亮點 反射光的方向,unity方法reflect 反射光是平行光的反射 lightdir 法線是normaldir 得到的是光照的反射方向 reflectdir fixed3 re...

Shader 基礎光照 漫反射光照模型

漫反射 diffuse 當光線從光源照射到模型表面,該表面回向每個方向散射多少輻射量 漫反射符合蘭伯特定律 反射光線的強度與表面法線與光源方向之間的夾角的余弦值成正比.漫反射的計算 diffuse.png n表面法線和l指向光源的向量的單位向量點乘來表示余弦值,用max防止點乘結果為負數,防止物體被...