Ich habe ein MeshPhongMaterial namens 'Material' bekam etwa so:Three.js MeshPhongMaterial normalScale Fehler werfen
var material = new THREE.MeshPhongMaterial({
map: THREE.ImageUtils.loadTexture('assets/images/8k-earth-diffuse.jpg'),
normalMap: THREE.ImageUtils.loadTexture('assets/images/8k-earth-normal.jpg'),
normalScale: (0.1, 0.1),
specularMap: THREE.ImageUtils.loadTexture('assets/images/8k-earth-spec.png'),
specular: new THREE.Color('grey')
});
Alles funktioniert und angewendet wird, einschließlich der Karte und normalmap. Das Problem ist, wenn ich versuche, eine normalScale
Eigenschaft hinzufügen, wirft es den folgenden Fehler:
Uncaught TypeError: Failed to execute 'uniform2fv' on 'WebGLRenderingContext': No function was found that matched the signature provided.
I normalScale
vor und mit der richtigen Syntax verwendet haben, und es hat sich bis vor kurzem arbeiten. Ohne normalScale
ist alles in Ordnung. Ich benutze Revision 77. Meine Frage ist, warum passiert das und was verursacht diesen Fehler? Wie kann ich normalScale
ohne Three.js verwenden, die den Fehler wirft? Ich habe Chrome DevTools verwendet, um die Linie zu bekommen, wo der Fehler in Three.js Quelle geworfen wird:
if (v.x === undefined) gl.uniform2fv(this.addr, v);