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 的同画面对照

切换两种写法,画面相同并显示当前帧间隔。

打开可运行练习 →