光照模型 - 经验光照模型
https://www.cnblogs.com/anesu/p/15786470.html
Lambert
shader_type spatial;
uniform vec3 Albedo: source_color = vec3(1, 1, 1);
void fragment()
{
ALBEDO = Albedo;
}
void light()
{
vec3 lightColor = LIGHT_COLOR / PI;
DIFFUSE_LIGHT += clamp(dot(NORMAL, LIGHT), 0.0, 1.0) * ATTENUATION * lightColor;
}
shader_type spatial;
render_mode unshaded, ambient_light_disabled;
varying vec3 world_normal;
void vertex() {
world_normal = NORMAL;
}
void fragment() {
vec3 light_dir = vec3(1, 0, 0); // 手动指定
float NdotL = dot(world_normal, light_dir);
ALBEDO = vec3(NdotL, 0, NdotL);
}