THREE.js повторяет обтекание текстуры в шейдер

Я хочу повторить обтекание текстуры в шейдере THREE.js.

Исходное изображение текстуры:

Я хочу, чтобы это повторилось 4x4 раза, что будет выглядеть так:

Но с помощью следующего кода получается:

Вершинный шейдер:

varying vec2 vUv;

uniform float textRepeat;

void main()
{    
    // passing texture to fragment shader
    vUv = uv * textRepeat;

    gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
}

Фрагмент шейдера:

varying vec2 vUv;

uniform sampler2D texture;

void main() {
    // add origianl texture
    gl_FragColor = texture2D(texture, vUv);
}

uniforms в файле JavaScript, в которомtextureRepeat дает время, которое нужно повторить:

uniforms: {
    texture: {
        type: 't', 
        value: THREE.ImageUtils.loadTexture('image/box.jpg')
    },
    textRepeat: {
        type: 'f',
        value: 8
    }
}

Может ли кто-нибудь сказать мне, что здесь происходит не так?

Ответы на вопрос(2)

Ваш ответ на вопрос