是否可以使用WebGL运行#version 120着色器

时间:2014-01-13 23:34:24

标签: webgl webgl-extensions

我有许多GLSL片段着色器,我几乎可以保证它们符合#version 120它们使用标准的,非ES符合的值,并且它们没有任何ES特定的编译指示。

我真的想使用WebGL为他们制作网络预览器。预览器不会在移动设备上使用。这可行吗?与GLSL版本相比,WebGL中的GLSL着色器是否限制了特征集?是否存在精确差异?

我已经尝试过使用THREE.js,但这并没有真正磨擦它,因为它在将我的着色器代码加载到GPU之前弄乱了它(我无法做到)。

简而言之:GLSL规范是否足以让我运行这些着色器?...因为如果它不是我所追求的不可行而且我应该放弃它。

1 个答案:

答案 0 :(得分:6)

不,WebGL着色器必须是版本#100。不允许任何其他事情。

如果你很好奇为什么会这样,因为WebGL需要尽可能地运行到处。如果您可以选择任何版本,您的网页只能在具有处理该版本的GPU /驱动程序的系统上运行。

下一版本的WebGL将提升版本号。它将允许GLSL ES 3.0(注意 ES )。截至2016年5月,它目前在Chrome和Firefox的旗帜下可用