在三个js的球体上绘制256个多边形的麻烦

时间:2013-04-17 15:00:22

标签: three.js opengl-es-2.0 webgl

当我尝试在我的球体上插入时,我遇到了一个问题,256网格使用先前生成的多边形并进行了三角测量

1)Perf势不可挡,5fps,不明白为什么,当我使用webgl inpspector检查缓冲区时,我可以看到超过30k的缓冲区存储!我只是画了256个多边形...

2)多边形不在我的球体表面上,但在内部,它们没有变形

2 个答案:

答案 0 :(得分:2)

据我所知,你创建了256个对象(缓冲区)而不是单个对象。您应该将所有这些多边形添加到单个几何体中。

答案 1 :(得分:2)

移动:

new THREE.MeshBasicMaterial({color:0x00ff00*0.05}));
在循环之前

。由于您使用相同的材​​料,您只需要声明一次(推送到gpu一次)而不是每次循环迭代。所以:

var mat = new THREE.MeshBasicMaterial({color:0x00ff00*0.05}));
for(i=0; i<mygeometry.length;i++){
  var object = new THREE.mesh(mygeometry[i],mat);
}