【问题标题】:Issue on using an extension for GLSL when updating three.js更新 three.js 时使用 GLSL 扩展的问题
【发布时间】:2021-07-30 20:49:31
【问题描述】:

我目前正在将 three.js 从 2015 版本升级到最新版本!然而,GLSL 着色器的工作方式似乎略有不同。因此,当尝试使用#extension GL_OES_standard_derivatives : enable 添加扩展时,它似乎会出错并阻止使用着色器。有关我正在使用的着色器的示例,请参见下面的堆栈跟踪和代码笔。

THREE.WebGLShader: gl.getShaderInfoLog() fragment
ERROR: 0:89: '
' : extension directive must occur before any non-preprocessor tokens in ESSL31: #version 300 es

https://codepen.io/redrubia/pen/ZEezjVw

【问题讨论】:

    标签: graphics three.js glsl


    【解决方案1】:

    无需手动将#extension GL_OES_standard_derivatives : enable 添加到您的着色器代码中。相反,扩展可以通过物质对象进行管理。请使用这种方法:

    material.extensions.derivatives = true;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-05
      • 1970-01-01
      • 1970-01-01
      • 2017-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多