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

Ilmari Heikkinen

Opera 团队一直在实际的 OpenGL ES 2.0 硬件上测试 WebGL,因此提醒您:许多演示和应用在片段着色器中使用高精度,但实际上并非必需。

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

在实践中,如果您的片段着色器之前以以下代码开头

precision highp float;

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

precision mediump float; // or lowp