Lesson 12 · 10 exercises
跨平台与跨设备兼容
把版本、精度、时间、非法数学与系统差异变成可复现的检查。
01 / ⭐
WebGL1 到 WebGL2 的语法迁移
主画布显示 UV 渐变;探针分别报告 WebGL1 和 WebGL2 编译、绘制结果。
02 / ⭐highp 与 mediump 的可见范围
左右半幅显示同一正弦条纹,可在目标设备比较差异。
03 / ⭐⭐受控观察 pow 的非法输入
安全模式显示平滑灰阶;实验模式报告非法输入不保证结果。
04 / ⭐⭐受控观察 sqrt 的非法输入
安全模式显示灰阶;实验模式可观察负数开方的不确定结果。
05 / ⭐⭐在 JS 端折返长时间 uniform
左半使用大时间、右半使用折返时间;右半条纹持续移动。
06 / ⭐⭐⭐一段颜色函数,两种 GLSL 包装
共享颜色函数分别被 WebGL1 和 WebGL2 包装器编译并绘制。
07 / ⭐⭐⭐越界 UV:重复、夹取与边界淡出
左右显示重复采样与夹取采样,切换后边缘可淡出。
08 / ⭐⭐⭐大时间导致滚动 UV 精度崩塌
左半在巨大时间偏移下卡顿,右半仍平稳滚动。
09 / ⭐⭐⭐⭐记录设备与浏览器能力
画面正常运行,面板列出 WebGL 版本、精度、分辨率与扩展数。
10 / ⭐⭐⭐⭐if 与 mix 的同画面对照
切换两种写法,画面相同并显示当前帧间隔。