Lesson 13 · 12 exercises

Shader 调试与日常问题排查

将中间值画出来,读取真实编译日志,并逐步定位视觉问题。

01 / ⭐

把 uv.x 画成灰度

画面从左黑到右白。

打开可运行练习 →
02 / ⭐

把 UV 画进红绿通道

左下偏黑,右上偏黄。

打开可运行练习 →
03 / ⭐⭐

噪声中间值的灰度视图

平滑噪声结构可见,明暗位于 0–1。

打开可运行练习 →
04 / ⭐⭐

用 step 标出大于 0.5 的区域

噪声被切成黑白两块。

打开可运行练习 →
05 / ⭐⭐

读取未声明变量的编译日志

按钮显示真实编译日志与错误行;主画布保持正常。

打开可运行练习 →
06 / ⭐⭐⭐

读取类型不匹配的编译日志

按钮显示真实类型错误,主画布继续渲染。

打开可运行练习 →
07 / ⭐⭐⭐

用三步二分定位全黑画面

从全黑切换到中间值,再切换到修复后的圆形。

打开可运行练习 →
08 / ⭐⭐⭐

区分时间精度与逻辑闪烁

大时间模式可变钝;安全时间模式保持运动。

打开可运行练习 →
09 / ⭐⭐⭐

用颜色编码每个分支

左、中、右三段分别显示不同颜色。

打开可运行练习 →
10 / ⭐⭐⭐⭐

可复用的 debugFloat 函数

切换变量后分别看到 UV、距离和正弦值的灰度。

打开可运行练习 →
11 / ⭐⭐⭐⭐

记录 draw call 并用 Spector 复核

画布有三块图形,面板显示 draw call;可选用 Spector 抓帧。

打开可运行练习 →
12 / ⭐⭐⭐⭐

定位 sRGB 与 Linear 偏色

同一纹理左右半幅用不同颜色空间解释,出现可见差异。

打开可运行练习 →