2011-01-12 64 views
0

我最近一直在开发一个等距渲染系统来绘制出Javascript中的3D网格。网格上的所有项目都是相同维度的立方体,每一个之间的唯一区别就是用于表示该坐标值的纹理。即使在视口中只有一小部分可见,我的应用程序也需要绘制大网格。因为我使用Canvas,每帧绘制数千个形状的速度很慢,所以我将脚本设置为循环遍历每个块,但只绘制它们的面,如果它们是1)。接下来是空的网格空间和2。 )在视口内。这个系统适用于较小的网格,但由于我的应用需要相当大的应用(1000 + x1000 + x128),所以我需要为最终产品增加一些性能改进。如何加速这个3D网格渲染系统?

是否有人曾与渲染系统知道任何方式我可以进一步优化我的引擎?我猜想有一件事可能会有效,那就是试图不循环每个网格值,即使它没有被绘制。但是,我不知道最有效的方式来知道是否循环通过网格值(我正在浏览每个值,然后计算是否应绘制)。

如果我太模糊了,请告诉我,我会很乐意详细说明。感谢您的时间和专业知识;我是一名学生,任何帮助都将极大地帮助我学习。

+0

你是如何计算的网格值是否应该如何界定呢?你在使用遮挡吗? – brainjam 2011-01-12 03:32:40

回答

0

一些指向你:你可能想看看使用像八叉的东西(或四叉树你的情况)的经典扑杀算法,...