【问题标题】:Is it possible to run #version 120 shaders with WebGL是否可以使用 WebGL 运行#version 120 着色器
【发布时间】:2014-01-13 23:34:24
【问题描述】:

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

我真的很想用 WebGL 为他们制作一个网络预览器。预览器不会在移动设备上使用。这可行吗?与 GLSL 版本相比,WebGL 中暴露给 GLSL 着色器的功能集是否受到限制?有精度差异吗?

我已经尝试过使用THREE.js,但这并没有真正影响它,因为它会在将我的着色器代码加载到 GPU 之前将其弄乱(我不能这样做)。

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

【问题讨论】:

    标签: webgl webgl-extensions


    【解决方案1】:

    不,WebGL 着色器必须是版本 #100。其他任何内容都是不允许的。

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

    WebGL 的下一个版本将提高版本号。它将允许 GLSL ES 3.0(注意 ES)。截至 2016 年 5 月,它目前在 Chrome 和 Firefox 中的标志后面可用

    【讨论】:

    • 谢谢。让我难过(尽管这是一个非常具体的用例)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-03
    • 1970-01-01
    相关资源
    最近更新 更多