假设我在corner-point-grid中有NX * NY * NZ单元。我还有一个NX * NY * NZ布尔的面具,它给了我必须绘制的网格的哪些单元格。内存在Java3D/OpenGL中高效地实现角点网格
我想创建在Java3D的一种有效的索引四阵列使用较少的存储器作为可能的(或OpenGL,它不会在端部关系,因为下面的概念是相同的)。
为了简单起见,我跳过申报每个面的法线和真的因为我使用的是平坦的阴影和没有照明,我不需要他们。
我对每个单元格都有一个颜色(这是基于每个单元格的属性)。
因此,我列出了我需要根据单元格蒙版绘制的面。
我发现自己重复同样的点(属于不同的面孔)几次,能够给每一个面对的颜色。
你有任何关于如何提高效率的提示吗?
你对布尔掩码有任何约束,可以被利用?例如。从不在“关闭”单元之上的“开”单元?相机位置或角度的任何限制(例如始终高于“表面”)? – LarsH 2010-09-25 03:13:37
嗨LarsH。不,对不起,对布尔掩码没有限制。我也尝试在3D中使用洪水填充算法,但是让我明白活动单元格是否被限制在封闭表面或不是如此之快......因此,我最终绘制了所有停留在“在“细胞和”关闭“细胞的任何方向。关于相机的位置,也没有限制:观察者应该能够从任何角度观看网格。谢谢您的帮助! – matteodg 2010-09-25 07:06:05