0
我想写一个fft的3d版本。 (像这样:https://wiki.mozilla.org/File:Fft.png) 所以我创建了几个小节,并且在外部函数中,我的第一个问题是将lengthY设置为一个值。然后我打电话给bar.modified()强制重绘。修改某些立方体的长度y很慢
如果我现在使用的棒数超过50个,它会非常慢(在我的4核CPU上)。我想有更好的方法去做,对吧?
来源:
var elements = new Array();
create3d = function(len) {
var r = new X.renderer3D();
r.init();
if(a.length == 0){
for (var y = 0; y < len; y++) {
var c = new X.cube();
a.push(c);
}
}
for (var i = 0; i < len; i++) {
a[i].center = [i*2 , 0, 0];
a[i].lengthX = 1;
a[i].lengthY = 20;
a[i].lengthZ = 1;
a[i].color = [i%2,0,0];
r.add(a[i]);
}
r.render();
};
function setVal(index,val){
var element = a[index];
element.lengthY = val;
element.modified();
}
是您的功能数字或模拟?在这种情况下,最好也许是分解立方体总和中的每个值,然后当您更改值时,将一部分立方体设置为不可见?事实上,你在着色器中做的最多的就是它的速度。不透明度被计算到我认为的着色器中。 – Ricola3D 2012-08-14 07:38:39