更新时使用 GLSL 扩展的问题 three.js
Issue on using an extension for GLSL when updating three.js
我目前正在 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
无需手动将 #extension GL_OES_standard_derivatives : enable
添加到您的着色器代码中。相反,可以通过 material 对象管理扩展。请使用此方法:
material.extensions.derivatives = true;
我目前正在 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
无需手动将 #extension GL_OES_standard_derivatives : enable
添加到您的着色器代码中。相反,可以通过 material 对象管理扩展。请使用此方法:
material.extensions.derivatives = true;