当我尝试使用先前生成和三角化的多边形在我的球体上插入 256 个网格时,我遇到了一个问题
1)性能压倒性,5fps,真的不明白为什么,当我使用 webgl inpspector 检查缓冲区时,我可以看到存储了超过 30k 的缓冲区!我最多只画 256 个多边形...
2)多边形不在我球体的表面而是在内部,它们没有变形
当我尝试使用先前生成和三角化的多边形在我的球体上插入 256 个网格时,我遇到了一个问题
1)性能压倒性,5fps,真的不明白为什么,当我使用 webgl inpspector 检查缓冲区时,我可以看到存储了超过 30k 的缓冲区!我最多只画 256 个多边形...
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);
}
据我所知,您正在创建 256 个对象(缓冲区)而不是单个对象。您应该将所有这些多边形添加到单个几何体中。