THREE.js wiederholen das Einwickeln der Textur in Shader
Ich möchte das Umhüllen von Texturen in THREE.js Shader wiederholen.
Das ursprüngliche Texturbild ist:
Ich möchte, dass es 4x4-mal wiederholt wird, was so aussieht:
Aber mit dem folgenden Code stellt sich heraus, dass:
Vertex-Shader:
varying vec2 vUv;
uniform float textRepeat;
void main()
{
// passing texture to fragment shader
vUv = uv * textRepeat;
gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
}
Fragment-Shader:
varying vec2 vUv;
uniform sampler2D texture;
void main() {
// add origianl texture
gl_FragColor = texture2D(texture, vUv);
}
uniforms
in einer JavaScript-Datei, in dertextureRepeat
gibt die Zeiten an, die wiederholt werden müssen:
uniforms: {
texture: {
type: 't',
value: THREE.ImageUtils.loadTexture('image/box.jpg')
},
textRepeat: {
type: 'f',
value: 8
}
}
Kann mir jemand sagen, was hier falsch läuft?