Colors 如何获取Three.js中每个像素的颜色(r、g、b、a)

Colors 如何获取Three.js中每个像素的颜色(r、g、b、a),colors,three.js,pixel,particles,Colors,Three.js,Pixel,Particles,我在Three.js中使用粒子绘制不规则形状,代码片段如下: var hearts = function(context){ context.globalAlpha = 0.5; var x = 0, y = 0; context.scale(0.1, -0.1); // Scale so canvas render can redraw within bounds context.beginPath(); context.bezierCurveTo(x + 2.5, y + 2.5, x +

我在Three.js中使用粒子绘制不规则形状,代码片段如下:

var hearts = function(context){

context.globalAlpha = 0.5;
var x = 0, y = 0;
context.scale(0.1, -0.1); // Scale so canvas render can redraw within bounds
context.beginPath();
context.bezierCurveTo(x + 2.5, y + 2.5, x + 2.0, y, x, y);
context.bezierCurveTo(x - 3.0, y, x - 3.0, y + 3.5, x - 3.0, y + 3.5);
...
context.closePath();
context.lineWidth = 0.1; //0.05
context.stroke();
}

var material = new THREE.ParticleCanvasMaterial({

program: heart,
blending: THREE.AdditiveBlending
});

 material.color.setRGB(255, 0, 0);  
 var particle = new THREE.Particle(material);
我想做的是正确地选择不规则的形状,我的问题是,如果我用这种方式绘制形状,我如何获得每个像素的颜色,以便我可以在拾取算法中使用


谢谢。

你查过toDataURL了吗

我在three.js逻辑中使用它从浏览器中抓取并保存画布。从这个角度来看:

在我看来,toDataURL还可以用于查看每个像素的RGB和A,如果需要,可以更改它们并将其写回可见帧缓冲区