Imagen de actualización de Three.js

Estoy usando three.js para crear un editor de texturas de Minecraft, similar aesta. Solo estoy tratando de obtener la funcionalidad básica de hacer clic y pintar, pero parece que no puedo resolverlo. Actualmente tengo texturas para cada cara de cada cubo y las aplico haciendo materiales de sombreado con las siguientes funciones.

this.createBodyShaderTexture = function(part, update)
{
    sides = ['left', 'right', 'top', 'bottom', 'front', 'back'];
    images = [];
    for (i = 0; i < sides.length; i++)
    {
        images[i] = 'img/'+part+'/'+sides[i]+'.png'; 
    }
    texCube = new THREE.ImageUtils.loadTextureCube(images);
    texCube.magFilter = THREE.NearestFilter;
    texCube.minFilter = THREE.LinearMipMapLinearFilter;
    if (update)
    {
        texCube.needsUpdate = true;
        console.log(texCube);
    }
    return texCube;
}
this.createBodyShaderMaterial = function(part, update)
{

    shader = THREE.ShaderLib['cube'];
    shader.uniforms['tCube'].value = this.createBodyShaderTexture(part, update);
    shader.fragmentShader = document.getElementById("fshader").innerHTML;
    shader.vertexShader = document.getElementById("vshader").innerHTML;

    material = new THREE.ShaderMaterial({fragmentShader: shader.fragmentShader,  vertexShader: shader.vertexShader, uniforms: shader.uniforms});
    return material;
}

SkinApp.prototype.onClick = 
function(event)
{
    event.preventDefault();
        this.change(); //makes texture file a simple red square for testing
    this.avatar.remove(this.HEAD);

    this.HEAD = new THREE.Mesh(new THREE.CubeGeometry(8, 8, 8), this.createBodyShaderMaterial('head', false));
    this.HEAD.position.y = 10;
    this.avatar.add(this.HEAD);
    this.HEAD.material.needsUpdate = true;
        this.HEAD.dynamic = true;
}


Luego, cuando el usuario hace clic en cualquier lugar de la malla, el propio archivo de textura se actualiza utilizando un lienzo. La actualización se produce, pero el cambio no se muestra en el navegador a menos que la página se actualice. He encontrado muchos ejemplos de cómo cambiar la imagen de textura a un archivo nuevo, pero no sobre cómo mostrar los cambios en el mismo archivo de textura durante el tiempo de ejecución, o incluso si es posible. ¿Es esto posible, y si no, qué alternativas hay?

Respuestas a la pregunta(2)

Su respuesta a la pregunta