У меня есть MeshPhongMaterial названного «материал», как так:Three.js MeshPhongMaterial normalScale бросал ошибку
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')
});
Все работает и применяется, в том числе и карт нормалей. Проблема заключается в том, когда я пытаюсь добавить normalScale
свойства, он выдает следующее сообщение об ошибке:
Uncaught TypeError: Failed to execute 'uniform2fv' on 'WebGLRenderingContext': No function was found that matched the signature provided.
я использовал normalScale
раньше и с правильным синтаксисом, и он никогда работал до недавнего времени. Без normalScale
все в порядке. Я использую ревизию 77. Мой вопрос: почему это происходит и что вызывает эту ошибку? Как я могу использовать normalScale
без three.js, бросающего ошибку? Я использовал Chrome DevTools, чтобы получить линию, где ошибка возникает в three.js источник:
if (v.x === undefined) gl.uniform2fv(this.addr, v);