如何在 Three.js 着色器上启用扩展?
到目前为止我的代码:
获得扩展:
var domElement = document.createElement( 'canvas' );
var gl = domElement.getContext('webgl') || domElement.getContext('experimental-webgl');
gl.getExtension('OES_standard_derivatives');
在我的着色器上:
fragmentShader: [
"#extension GL_OES_standard_derivatives : enable",
"code..."
]...
控制台输出:
警告:0:26:不支持扩展“GL_OES_standard_derivatives”
错误:0:32:“dFdx”:找不到匹配的重载函数
错误:0:32:“=”:无法从“const mediump float”转换到“浮动的 2 分量向量”
错误:0:33:“dFdy”:找不到匹配的重载函数
错误:0:33:“=”:无法从“const mediump float”转换为“浮动的 2 分量向量” '
在github 上阅读此问题后,我尝试了以下示例:来自http://jsfiddle.net/VJca4/我得到了这些错误
警告:0:27:不支持扩展“GL_OES_standard_derivatives”
错误:0:30:“=”:无法从“const mediump float”转换为“float 的 2 分量向量”
错误:0:31:“dFdx”:找不到匹配的重载函数
错误:0:31:'=':无法从'const mediump float'转换为'2-component vector of float'