首页 > 解决方案 > 使用特定的 WebGL / GLSL 版本运行 Web 浏览器

问题描述

我想运行一些测试以确保我正在制作的某些场景将在仅支持 WebGL 1.0 的设备上呈现。有没有办法让浏览器在运行 WebGL 场景时只使用 WebGL 1.0 版?

我已经添加version 100到我的着色器的顶部——这是所有必需的,还是需要更多来确保使用 WebGL 1.0 测试场景?其他人可以提供的任何指针将不胜感激!

标签: glslwebgl

解决方案


version 100在着色器之上添加什么都不做。

如果您创建了上下文,canvas.getContext('webgl')您将获得基本的 WebGL 1 功能。

使用 WebGL 1 时,着色器#version 300 es将无法编译,并且许多功能将被锁定在扩展之后。

您应该查找目标浏览器支持哪些扩展,并且仅在测试期间启用这些扩展。

但我仍然强烈建议在您的目标浏览器上进行测试,因为 WebGL 规范对需要支持的最小功能有相当宽松的要求。

我经常看到某些参数组合在某些浏览器上有效,而在其他浏览器上无效,即使这些浏览器支持 WebGL 2。


推荐阅读