尽可能在 WebGL 中使用中等精度

Ilmari Heikkinen

向我们在 Opera 的朋友们提醒一下,他们一直在实际的 OpenGL ES 2.0 硬件上测试 WebGL:许多演示和应用会在片段着色器中使用高精确度,但实际上并非如此。

片段着色器中的 Highp 是 OpenGL ES 2.0 规范的可选部分,因此并非所有硬件都支持此功能(即使支持,也可能会影响性能)。使用 mediump 通常就足够了,它能确保您的应用可在移动设备上运行。

实际上,如果您的 fragment 着色器之前以

precision highp float;

将其更改为以下代码应该就能解决问题:

precision mediump float; // or lowp