SDF(有向距离场)中的法线计算

 Demo:https://blog.csdn.net/vily_lei/article/details/82791133

vec3 calcNormal( in vec3 pos )
{
    vec2 e = vec2(1.0,-1.0)*0.5773*0.0005;
    return normalize( e.xyy*map( pos + e.xyy ).x +
                      e.yyx*map( pos + e.yyx ).x +
                      e.yxy*map( pos + e.yxy ).x +
                      e.xxx*map( pos + e.xxx ).x );
}

原理请见:

http://www.iquilezles.org/www/articles/normalsSDF/normalsSDF.htm

 

转载于:https://www.cnblogs.com/vilyLei/articles/9681851.html

你可能感兴趣的:(SDF(有向距离场)中的法线计算)