使用threejs创建LED

时间:2016-11-04 08:59:47

标签: javascript three.js webgl led

我正在尝试创建一个安装有多个RGB LED的电路板,如图所示。

enter image description here

我使用以下

创建了LED
this.light = new THREE.PointLight(color, intensity, distance, decay);
this.light.name = 'rgb-light';
this.led_group.add(this.light);

let textureGlow  = new THREE.TextureLoader().load('images/led1.png');
var sphereMaterial = new THREE.MeshStandardMaterial({
  transparent: true,
  opacity: 0.8,
  emissive: this.light.color,
  color: this.light.color,
  wireframe: false,
  emissiveMap: textureGlow

});

let led_geo = new THREE.BoxGeometry(5, 1.6, 5);
let led_mat = new THREE.MeshBasicMaterial({
  color: 0xffffff
});

let led_mesh = new THREE.Mesh(led_geo, led_mat);
this.led_group.add(led_mesh);

this.ledsource = new THREE.Mesh(new THREE.CylinderGeometry(1.7, 1.7, 1), sphereMaterial);
this.ledsource.name = 'rgb-led';

但是我希望它们能够像物理世界中的普通LED一样明亮和发光。我可以得到关于如何实现这一目标的任何指示吗?

1 个答案:

答案 0 :(得分:0)

这不是您问题的准确答案。但你可以使用着色器,一些postProccessing效果,体积灯等来实现这一目标。这里讨论的话题很大。顺便说一下,有很多例子都使用了更好的照明技术。这是来自bkcore的使用体积光的youtube link