【问题标题】:Three.js line does not work in Canvas renderer but works in WebGL rendererThree.js 行在 Canvas 渲染器中不起作用,但在 WebGL 渲染器中起作用
【发布时间】:2015-12-05 15:18:16
【问题描述】:

我想在非 WebGL 浏览器上使用 Canvas 渲染器,在其他浏览器上使用 WebGL。 我的代码适用于 webGL 渲染器,但使用画布渲染器时,THREE.Line 不显示。

//Edges
var edgeMat = new THREE.LineBasicMaterial({
    color: 0x000000,
    opacity: 0.6
} );

for (var edgeId in graph.edgesl) {

    var nodeInId = graph.edgesl[edgeId];
    var nodeOutId = graph.edgesr[edgeId];

    var edgeGeom = new THREE.Geometry();
    edgeGeom.vertices.push(new THREE.Vertex(nodes[nodeInId].position));
    edgeGeom.vertices.push(new THREE.Vertex(nodes[nodeOutId].position));

    var drawingLine = new THREE.Line( edgeGeom , edgeMat );

    //Store In, Out node ID
    drawingLine.inNodeId = nodeInId;
    drawingLine.outNodeId = nodeOutId;

    nodes[nodeInId].edges.push(drawingLine);
    nodes[nodeOutId].edges.push(drawingLine);

    //Meshes additionally need also dynamic flag enabled (to keep internal typed arrays).
    drawingLine.dynamic = true;

    scene.addObject(drawingLine );

    edges.push(drawingLine);

}

有人对此有任何想法吗?

谢谢!

【问题讨论】:

    标签: webgl three.js


    【解决方案1】:

    从 r45 scene.addObject(drawingLine); 现在必须是 scene.add(drawingLine);

    同样的问题:

    Three.js not scaling or rotating Mesh on render()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-14
      • 2013-03-28
      • 1970-01-01
      • 1970-01-01
      • 2023-02-01
      • 2019-03-04
      • 1970-01-01
      相关资源
      最近更新 更多