关于在更新three.js时使用GLSL扩展的问题



我目前正在将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

无需手动将#extension GL_OES_standard_derivatives : enable添加到着色器代码中。相反,可以在材质对象上管理扩展。请使用这种方法:

material.extensions.derivatives = true;

最新更新