From 6f59f4b095c07d5931675ad4d704e46c4f810670 Mon Sep 17 00:00:00 2001 From: gered Date: Thu, 18 Jul 2013 18:16:59 -0400 Subject: [PATCH] use Vertices built in "current position" tracking while copying mesh vertices --- .../blarg/gdx/tilemap3d/ChunkVertexGenerator.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/com/blarg/gdx/tilemap3d/ChunkVertexGenerator.java b/src/com/blarg/gdx/tilemap3d/ChunkVertexGenerator.java index b34a8d1..eb95bbe 100644 --- a/src/com/blarg/gdx/tilemap3d/ChunkVertexGenerator.java +++ b/src/com/blarg/gdx/tilemap3d/ChunkVertexGenerator.java @@ -6,6 +6,7 @@ import com.badlogic.gdx.graphics.g3d.utils.MeshBuilder; import com.badlogic.gdx.graphics.g3d.utils.MeshPartBuilder; import com.badlogic.gdx.math.Matrix4; import com.badlogic.gdx.math.Vector3; +import com.blarg.gdx.graphics.Vertices; import com.blarg.gdx.tilemap3d.tilemesh.CubeTileMesh; import com.blarg.gdx.tilemap3d.tilemesh.TileMesh; @@ -160,13 +161,18 @@ public class ChunkVertexGenerator { tmpOffset.y += (float)position.y; tmpOffset.z += (float)position.z; + Vertices sourceVertices = sourceMesh.getVertices(); + sourceVertices.moveTo(firstVertex); + // copy vertices - for (int i = 0, j = firstVertex; i < numVertices; ++i, ++j) - copyVertex(builder, sourceMesh, j, tmpOffset, transform, color, chunk); + for (int i = 0; i < numVertices; ++i) { + copyVertex(builder, sourceMesh, sourceVertices, tmpOffset, transform, color, chunk); + sourceVertices.moveNext(); + } } - private void copyVertex(MeshBuilder builder, TileMesh sourceMesh, int sourceVertexIndex, Vector3 positionOffset, Matrix4 transform, Color color, TileChunk chunk) { - sourceMesh.getVertices().getVertex(sourceVertexIndex, vertex); + private void copyVertex(MeshBuilder builder, TileMesh sourceMesh, Vertices sourceVertices, Vector3 positionOffset, Matrix4 transform, Color color, TileChunk chunk) { + sourceVertices.getVertex(vertex); // transform if applicable... (this will probably just be per-tile rotation) if (transform != null) {