Tengo puntos y color (r, g, b). Necesito usar un color para un punto. hice esto
const vertices = new Float32Array(data.points); const colors = new Float32Array(data.colors) geometry.setAttribute( 'position', new THREE.BufferAttribute( vertices, 3 ) ); geometry.setAttribute( 'color', new THREE.BufferAttribute( colors, 3 ) ); const material = new THREE.PointsMaterial({color: colors}); const pointCloud = new THREE.Points( geometry, material) this.scene.clear(); this.scene.add( pointCloud ); this.renderer.render(this.scene, this.camera);De esta manera, obtengo puntos blancos. Si uso:
const material = new THREE.PointsMaterial( { vertexColors: true } );Recibí este error:
[.WebGL-0x2e2bb1a84c00]GL ERROR :GL_INVALID_OPERATION : glDrawArrays: attempt to access out of range vertices in attribute 1Gracias :) En primer lugar, necesito usar colores del 0 al 1 (no del 0 al 255). Luego necesitaba obtener matrices con la misma longitud. Y necesitaba usar {vertexColors: true}.