ShaderJoy —— 基础光照模型公式与源码【GLSL】
【摘要】
Lambert 光照效果【基于 Raytrace 实现】
Lambert 光照模型是一种经验的光照模型,其理论基础是 Lambert 余弦定理。主要是用来模拟粗糙物体表面的光照现象,它并没有考虑镜面反射部分
/// @note 球心和球面上一点做差,计算球面法线vec3 normal_at(vec...
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(iMouse.x / iResolution.x, iMouse.y / iResolution.y);
-
//vec2 mouse_loc = vec2(0.5) + 0.2*vec2(sin(0.05 * iTime), cos(0.05 * iTime));
-
vec2 mouse_loc = vec2(0.5);
-
-
//vec3 sphere_centre = vec3(0.2);
-
vec3 sphere_centre = vec3(mouse_loc.x, 0
文章来源: panda1234lee.blog.csdn.net,作者:panda1234lee,版权归原作者所有,如需转载,请联系作者。
原文链接:panda1234lee.blog.csdn.net/article/details/51970893
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)