将多个线条几何图形组合成一个几何图形

时间:2013-06-17 11:41:25

标签: three.js

我是Three.js的新手,我尝试为实体模型添加边缘。

问题是如果我单独添加边缘,渲染会变慢。因此,考虑将几何结构合并为一个,以便渲染速度加快。

我遇到了这个:https://github.com/mrdoob/three.js/issues/1370 但使用上述技术后输出仍然不正确。

我的代码到目前为止:

/* Edge Data */
var vertices = edgeData.vertices;
var edges = edgeData.edges;

// Final Geometry
var combinedGeo = new THREE.Geometry();

/* Add lines */
for( var i=0; i<edges.length; i++){
    var geom = new THREE.Geometry();
    for (var j=0; j<edges[i].length; j++){
        var v1 = vertices[edges[i][j]];
        geom.vertices.push(new THREE.Vector3(v1[0], v1[1], v1[2]));
    }

    // var line = new THREE.Line(geom, material, THREE.LinePieces);
    THREE.GeometryUtils.merge( combinedGeo, geom);
    // scene.add(line);
}
var edgesGeo = new THREE.Line(combinedGeo, material, THREE.LineStrip);
scene.add(edgesGeo);

1 个答案:

答案 0 :(得分:3)

不需要合并。首先向geometry添加点对,然后使用Line设置创建一个LinePieces。例如,请参阅THREE.AxisHelper代码。