Lambert 光照效果【基于 Raytrace 实现】
Lambert 光照模型是一种经验的光照模型,其理论基础是 Lambert 余弦定理。主要是用来模拟粗糙物体表面的光照现象,它并没有考虑镜面反射部分
/// @note 球心和球面上一点做差,计算球面法线
vec3 normal_at(vec3 s_c, vec3 point)
{
return normalize(point - s_c);
}
void mainImage( out vec4 fragColor, in vec2 fragCoord )
{
vec2 uv = fragCoord.xy / iResolution.xy;
float aspect_ratio = iResolution.x / iResolution.y;
uv.x *= aspect_ratio;
uv.x += (1.0 - aspect_ratio) / 2.0;
//vec2 mouse_loc = vec2(iMou