如何在Three.js着色器上啓用擴展?在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'轉換爲'float float的2分量向量'
錯誤:0:33:'dFdy':找不到匹配的重載函數
錯誤: 0:33:「=」:不能從「const的mediump浮動」轉換爲
「浮動的2種成分的矢量」讀取this issue on github後,我試圖這個例子中:從http://jsfiddle.net/VJca4/我得到這些錯誤
警告:0:27:不支持擴展名'GL_OES_standard_derivatives'
錯誤:0:30:'=':無法從'const mediump float'轉換爲'2-component vec 'float''
錯誤:0:31:'dFdx':找不到匹配的重載函數
錯誤:0:31:'=':無法從'const mediump float'轉換爲'2分量向量float'
的jsfiddle有缺失VEC 2,和three.js所太老了 - 請參見http://的jsfiddle .net/VJca4/9 /它完全有效) – makc