For a test case, I generated an object adding triangles with addTriangles in two ways, always before compile and build:
1- Positioning each pair of triangle in differents positions.
track = new Object3D(100000);
Log.i("Generating triangles", "Start populating");
SimpleVector v1 = new SimpleVector(), v2 = new SimpleVector(), v3 = new SimpleVector(), v4 = new SimpleVector();
v1.set(-working_width / 2, -TRACK_FLOOR_DISTANCE, 1);
v2.set( working_width / 2, -TRACK_FLOOR_DISTANCE, 1);
v3.set( working_width / 2, -TRACK_FLOOR_DISTANCE, 0);
v4.set(-working_width / 2, -TRACK_FLOOR_DISTANCE, 0);
for (i = 0; i < 499; i++) {
track.addTriangle(v1, 0, 1, v2, 1, 1, v3, 1, 0, TextureManager.getInstance().getTextureID("track"));
track.addTriangle(v1, 0, 1, v3, 1, 0, v4, 0, 0, TextureManager.getInstance().getTextureID("track"));
if (i % 1000 == 0) {
Log.i("Generating triangles", "n = " + String.valueOf(2 * i));
}
}
Log.i("Generating triangles", "End generation");
2- Positioning each pair of triangle in the same position.
track = new Object3D(100000);
Log.i("Generating triangles", "Start populating");
SimpleVector v1 = new SimpleVector(), v2 = new SimpleVector(), v3 = new SimpleVector(), v4 = new SimpleVector();
for (i = 0; i < 499; i++) {
v1.set(-working_width / 2, -TRACK_FLOOR_DISTANCE, -i * 0.0001f);
v2.set( working_width / 2, -TRACK_FLOOR_DISTANCE, -i * 0.0001f);
v3.set( working_width / 2, -TRACK_FLOOR_DISTANCE, -i * 0.0001f - 0.0001f);
v4.set(-working_width / 2, -TRACK_FLOOR_DISTANCE, -i * 0.0001f - 0.0001f);
track.addTriangle(v1, 0, 1, v3, 1, 0, v2, 1, 1, TextureManager.getInstance().getTextureID("track"));
track.addTriangle(v3, 1, 0, v1, 0, 1, v4, 0, 0, TextureManager.getInstance().getTextureID("track"));
if (i % 1000 == 0) {
Log.i("Generating triangles", "n = " + String.valueOf(2 * i));
}
}
Log.i("Generating triangles", "End generation");
When get the mesh throw a VertexController, the mesh array get different sizes depending how was positioned the triangles.
With the option 1, I get 4 elements (wrong). With option 2, I get 998 elements (which is correct size). Why? Is an issue or I are wrong?