vertexData.clear();
normalData.clear();
colorData.clear();
texCoordData.clear();
for (int i = 0; i < geometry.polygonCount(); i++) {
N3Polygon p = geometry.getPolygon(i);
boolean pass = false;
for (int j = 0; j < p.getSides();) {
if (!pass) {
p1 = p.getVertex(j);
p2 = p.getVertex(j + 1);
p3 = p.getVertex(j + 2);
n1 = p.getNormal(j);
n2 = p.getNormal(j + 1);
n3 = p.getNormal(j + 2);
c1 = p.getColor(j);
c2 = p.getColor(j + 1);
c3 = p.getColor(j + 2);
if (p.isTextured()) {
uv1 = p.getUV(j);
uv2 = p.getUV(j + 1);
uv3 = p.getUV(j + 2);
}
j += 3;
pass = true;
} else {
p2 = p3;
c2 = c3;
n2 = n3;
uv2 = uv3;
p3 = p.getVertex(j);
n3 = p.getNormal(j);
c3 = p.getColor(j);
if (p.isTextured())
uv3 = p.getUV(j);
j++;
}
vertexData.addVertex(p1);
colorData.addColor(c1);
normalData.addNormal(n1);
vertexData.addVertex(p2);
colorData.addColor(c2);
normalData.addNormal(n2);
vertexData.addVertex(p3);
colorData.addColor(c3);
normalData.addNormal(n3);
if (p.isTextured()) {
texCoordData.addTexCoord(uv1);
texCoordData.addTexCoord(uv2);
texCoordData.addTexCoord(uv3);
}
}