spite / THREE.MeshLine

Mesh replacement for THREE.Line
MIT License
2.16k stars 380 forks source link

When using transparent lines as markers, the line display is not expected #86

Open djy2017 opened 5 years ago

djy2017 commented 5 years ago

There are a lot of dirty spots where the segments themselves overlap.

addCurveBezier() {
    var curve = new THREE.CubicBezierCurve(
     ... ...  //  random vectors
    );

    var points = curve.getPoints( 50 );
    // debugger
    var geometryBuff = new THREE.BufferGeometry().setFromPoints( points );

    let geometry = new THREE.Geometry().fromBufferGeometry(geometryBuff);

    let line = new MeshLine.MeshLine()
    let material = new MeshLine.MeshLineMaterial({ 
sizeAttenuation: true,
          color: 'blue',
          lineWidth:  20,
          overdraw: true,
          depthTest: false,
          transparent: true,
          opacity: 0.5,
          blending: THREE.NormalBlending,
          resolution: new THREE.Vector2(canvasW, canvasH)
 })

    line.setGeometry(geometry)

    let  meshLine = new THREE.Mesh( line.geometry, material )

    // Create the final object to add to the scene
    var curveObject = new THREE.Line( geometry, material );

    // debugger
    scene.add(meshLine)
  }