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

Jul*_*lik 7 webgl webgl-extensions

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

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

我已经尝试过玩了THREE.js但是这并没有真正磨擦它,因为它将我的着色器代码粘贴到GPU之前(我无法做到).

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

gma*_*man 7

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

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

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