threex.geometricglowmesh.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. var THREEx = THREEx || {}
  2. THREEx.GeometricGlowMesh = function(mesh){
  3. var object3d = new THREE.Object3D
  4. var geometry = mesh.geometry.clone()
  5. THREEx.dilateGeometry(geometry, 0.01)
  6. var material = THREEx.createAtmosphereMaterial()
  7. material.uniforms.glowColor.value = new THREE.Color('cyan')
  8. material.uniforms.coeficient.value = 1.1
  9. material.uniforms.power.value = 0.7
  10. // material.side = THREE.DoubleSide
  11. var insideMesh = new THREE.Mesh(geometry, material );
  12. // insideMesh.scale.multiplyScalar(1.01)
  13. object3d.add( insideMesh );
  14. var geometry = mesh.geometry.clone()
  15. // THREEx.dilateGeometry(geometry, 0.2)
  16. var material = THREEx.createAtmosphereMaterial()
  17. material.uniforms.glowColor.value = new THREE.Color('cyan')
  18. material.uniforms.coeficient.value = 0.2
  19. material.uniforms.power.value = 2.0
  20. material.side = THREE.BackSide
  21. var outsideMesh = new THREE.Mesh( geometry, material );
  22. outsideMesh.scale.multiplyScalar(1.2)
  23. object3d.add( outsideMesh );
  24. // expose a few variable
  25. this.object3d = object3d
  26. this.insideMesh = insideMesh
  27. this.outsideMesh= outsideMesh
  28. }