debug
debug
一个可视化的着色器探针,如同图形版的 console.log()。它允许你将节点网络中任何中间步骤的计算结果直接渲染成颜色,显示在模型上,从而解决着色器开发的“黑盒”问题。
核心优势
非破坏性检查。它是一个“透明”的直通节点,包裹任何节点后,在默认状态下不影响最终渲染效果。开发者可以预先在代码中埋入多个调试点,通过点击屏幕来激活或关闭可视化,极大地提升了调试效率和迭代速度。
常见用途
可视化噪声函数:将复杂的噪声函数输出渲染为灰度图,以检查其图案、频率和范围。
检查 UV 坐标:将经过变换的 UV 坐标渲染为红绿颜色图,以直观地验证扭曲、缩放等效果。
验证蒙版/混合因子:将用于混合材质的因子(如菲涅尔效应)渲染为黑白图,以确认混合区域是否正确。
检查生成的 GLSL 代码:通过回调函数在浏览器控制台打印出节点生成的底层 GLSL 代码,用于深度分析或性能优化。
如何调整
默认不改变任何视觉效果。点击应用该材质的物体后,它会“劫持”最终颜色,将被包裹节点的值可视化:float 变为灰度图,vec2 变为红绿图,vec3/vec4 变为彩色图。再次点击则恢复为原始的最终效果,这种即时切换是其核心交互方式。
代码示例
1const finalColor = mix( metal, rust, debug( myMixFactor ) );