glsl - 使用特定的 WebGL / GLSL 版本运行 Web 浏览器
问题描述
我想运行一些测试以确保我正在制作的某些场景将在仅支持 WebGL 1.0 的设备上呈现。有没有办法让浏览器在运行 WebGL 场景时只使用 WebGL 1.0 版?
我已经添加version 100
到我的着色器的顶部——这是所有必需的,还是需要更多来确保使用 WebGL 1.0 测试场景?其他人可以提供的任何指针将不胜感激!
解决方案
version 100
在着色器之上添加什么都不做。
如果您创建了上下文,canvas.getContext('webgl')
您将获得基本的 WebGL 1 功能。
使用 WebGL 1 时,着色器#version 300 es
将无法编译,并且许多功能将被锁定在扩展之后。
您应该查找目标浏览器支持哪些扩展,并且仅在测试期间启用这些扩展。
但我仍然强烈建议在您的目标浏览器上进行测试,因为 WebGL 规范对需要支持的最小功能有相当宽松的要求。
我经常看到某些参数组合在某些浏览器上有效,而在其他浏览器上无效,即使这些浏览器支持 WebGL 2。
推荐阅读
- vue.js - 到达最后一条记录时如何禁用导航按钮?
- android - Android Amplify Auth 注销超时
- javascript - Angular:CORS 预检响应未成功
- vue.js - Vuetify:更改 v-application--wrap 的最小高度
- reactjs - React 中的时间显示不正确。我怎样才能摆脱 PM 或格式化它,使它不在那里显示?
- javascript - 根据复选框选择切换按钮
- python - Django与postgresql,日期时间微秒的前导0消失了
- python - 从嵌套列表中提取最低级别
- javascript - 为什么 [el] 显示未定义?
- python-3.x - 请求返回 403 错误,但页面使用浏览器中的直接链接