我正在完成 Oreilly 的 WebGL 入门书中的练习。
以下行导致运行时错误。我用谷歌搜索并没有看到其他人有问题,所以我做错了什么?
var specularMap= THREE.ImageUtils.loadTexture("WebGLBook/images/earth_specular_2048.jpg");
var shader = THREE.ShaderUtils.lib[ "normal" ]; <-- fails
var uniforms = THREE.UniformsUtils.clone(shader.uniforms);
uniforms['tNormal'].texture = normalMap;
uniforms['tDiffuse'].texture = surfaceMap;
指出的行失败并出现以下错误:
Uncaught TypeError: Cannot read property 'lib' of undefined solar-system-spec-map.html:60
Earth.createGlobe solar-system-spec-map.html:60
Earth.init solar-system-spec-map.html:51
EarthApp.init solar-system-spec-map.html:33
(anonymous function) solar-system-spec-map.html:93
deferred.resolveWith jquery-1.6.4.js:1016
jQuery.extend.ready jquery-1.6.4.js:437
DOMContentLoaded
这也奇怪的是,“ShaderUtils”没有列在 THREE.js 文档中...... http://mrdoob.github.com/three.js/docs/55/
这是怎么回事?!