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?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage