0

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

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

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

4

2 回答 2

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);
} 
于 2013-04-18T09:36:45.743 回答
2

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

于 2013-04-17T20:34:51.090 回答