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防止點乘結果為負數,防止物體被...