GLSL 效果示例
SDF 法线可视化:用 RGB 显示表面朝向
同一形体在法线图和光照图之间切换,观察采样步长的影响。
在线示例
修改右侧代码,左侧预览会实时更新。
观察什么
同一形体在法线图和光照图之间切换,观察采样步长的影响。
实现原理
中心差分从三轴两侧估计梯度,归一化后映射到 RGB;这是法线诊断图。
找到控制效果的代码
return length(p)-.75;
动手修改
把 c=normal*.5+.5 改为 c=vec3(normal.z*.5+.5)。RGB 朝向图会变成灰度图,单独显示球面朝向正 z 方向的程度。
调试与成本
normalAt 用 e=vec2(.002,0.) 在 x、y、z 两侧采样 scene。把 .002 增为 .05,可比较更宽的差分间隔;光滑球面上的变化可能很小,六次查询的成本也不变。