javascript - sphere - generar textura desde array en threejs
three.js rotation (1)
Intento generar una textura a partir de una matriz en tres JS y no está funcionando como esperaba.
Parece que la forma en que genero la textura no es correcta.
Si utilizo la siguiente textura, funciona como se esperaba. http://www.html5canvastutorials.com/demos/assets/crate.jpg
crateTex = THREE.ImageUtils.loadTexture(''data/crate.jpg'');
Si genero una textura ficticia y trato de mostrarla, todo es negro ...
var dummyRGBA = new Uint8Array(4 * 4 * 4);
for(var i=0; i< 4 * 4; i++){
// RGB from 0 to 255
dummyRGBA[4*i] = dummyRGBA[4*i + 1] = dummyRGBA[4*i + 2] = 255*i/(4*4);
// OPACITY
dummyRGBA[4*i + 3] = 255;
}
dummyDataTex = new THREE.DataTexture( dummyRGBA, 4, 4, THREE.RGBAFormat );
dummyDataTex.needsUpdate = true;
dummyTex = new THREE.Texture(dummyDataTex);
Creo que tu error está en el hecho de que haces una textura de una textura.
Cuando tu lo hagas:
dummyDataTex = new THREE.DataTexture( dummyRGBA, 4, 4, THREE.RGBAFormat );
el objeto dummyDataTex
que creas aquí ya es de tipo THREE.Texture
.
Entonces tu próximo paso:
dummyTex = new THREE.Texture(dummyDataTex);
no es necesario. En su lugar, debería utilizar inmediatamente dummyDataTex
.