diff --git a/pom.xml b/pom.xml
index 85bd3fe..731da99 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,8 +48,8 @@
1.6
1.6
- 1.0.0
- 0.1
+ 1.7.0
+ 0.2-SNAPSHOT
diff --git a/src/main/java/ca/blarg/gdx/tilemap3d/ChunkVertexGenerator.java b/src/main/java/ca/blarg/gdx/tilemap3d/ChunkVertexGenerator.java
index 0dbd6bc..c4356d5 100644
--- a/src/main/java/ca/blarg/gdx/tilemap3d/ChunkVertexGenerator.java
+++ b/src/main/java/ca/blarg/gdx/tilemap3d/ChunkVertexGenerator.java
@@ -41,13 +41,13 @@ public class ChunkVertexGenerator {
builder.begin(
VertexAttributes.Usage.Position |
- VertexAttributes.Usage.Color |
+ VertexAttributes.Usage.ColorUnpacked |
VertexAttributes.Usage.Normal |
VertexAttributes.Usage.TextureCoordinates
);
alphaBuilder.begin(
VertexAttributes.Usage.Position |
- VertexAttributes.Usage.Color |
+ VertexAttributes.Usage.ColorUnpacked |
VertexAttributes.Usage.Normal |
VertexAttributes.Usage.TextureCoordinates
);
diff --git a/src/main/java/ca/blarg/gdx/tilemap3d/tilemesh/BaseModelTileMesh.java b/src/main/java/ca/blarg/gdx/tilemap3d/tilemesh/BaseModelTileMesh.java
index 71fc62c..514a0c9 100644
--- a/src/main/java/ca/blarg/gdx/tilemap3d/tilemesh/BaseModelTileMesh.java
+++ b/src/main/java/ca/blarg/gdx/tilemap3d/tilemesh/BaseModelTileMesh.java
@@ -22,6 +22,7 @@ import java.nio.ShortBuffer;
public abstract class BaseModelTileMesh extends TileMesh {
private final Vector3 tmpPosition = new Vector3();
private final Vector3 tmpNormal = new Vector3();
+ private final Vector3 tmpDimensions = new Vector3();
private final BoundingBox tmpBounds = new BoundingBox();
public BaseModelTileMesh(byte opaqueSides, boolean alpha, float translucency, byte lightValue, Color color) {
@@ -54,7 +55,7 @@ public abstract class BaseModelTileMesh extends TileMesh {
destVertices.setPos(tmpPosition);
offset += 3;
- if (meshPart.mesh.getVertexAttribute(VertexAttributes.Usage.Color) != null) {
+ if (meshPart.mesh.getVertexAttribute(VertexAttributes.Usage.ColorUnpacked) != null) {
// TODO: blend mesh color and source model color somehow?
destVertices.setCol(vertices.get(offset), vertices.get(offset + 1), vertices.get(offset + 2), vertices.get(offset + 3));
offset += 4;
@@ -84,8 +85,8 @@ public abstract class BaseModelTileMesh extends TileMesh {
}
}
- for (int i = 0; i < node.children.size; ++i)
- collectModelNodeVertices(node.children.get(i), destVertices, textures, color, scaleFactor, positionOffset);
+ for (int i = 0; i < node.getChildCount(); ++i)
+ collectModelNodeVertices(node.getChild(i), destVertices, textures, color, scaleFactor, positionOffset);
}
protected void collectModelNodeVertexPositions(Node node, Array destVertices, Vector3 scaleFactor, Vector3 positionOffset) {
@@ -110,13 +111,14 @@ public abstract class BaseModelTileMesh extends TileMesh {
}
}
- for (int i = 0; i < node.children.size; ++i)
- collectModelNodeVertexPositions(node.children.get(i), destVertices, scaleFactor, positionOffset);
+ for (int i = 0; i < node.getChildCount(); ++i)
+ collectModelNodeVertexPositions(node.getChild(i), destVertices, scaleFactor, positionOffset);
}
protected void getScaleFactorForModel(Model model, Vector3 scaleToSize, Vector3 out) {
model.calculateBoundingBox(tmpBounds);
- MathHelpers.getScaleFactor(tmpBounds.getDimensions(), scaleToSize, out);
+ tmpBounds.getDimensions(tmpDimensions);
+ MathHelpers.getScaleFactor(tmpDimensions, scaleToSize, out);
}
protected int countModelVertices(Model model) {
diff --git a/src/main/java/ca/blarg/gdx/tilemap3d/tilemesh/ModelTileMesh.java b/src/main/java/ca/blarg/gdx/tilemap3d/tilemesh/ModelTileMesh.java
index 7b13e61..66040c2 100644
--- a/src/main/java/ca/blarg/gdx/tilemap3d/tilemesh/ModelTileMesh.java
+++ b/src/main/java/ca/blarg/gdx/tilemap3d/tilemesh/ModelTileMesh.java
@@ -13,6 +13,7 @@ import com.badlogic.gdx.utils.Array;
public class ModelTileMesh extends BaseModelTileMesh {
static final Vector3 tmpPosition = new Vector3();
static final Vector3 tmpNormal = new Vector3();
+ static final Vector3 tmpDimensions = new Vector3();
static final BoundingBox tmpModelBounds = new BoundingBox();
static final Vector3 tmpScaleFactor = new Vector3();
@@ -74,11 +75,12 @@ public class ModelTileMesh extends BaseModelTileMesh {
);
model.calculateBoundingBox(tmpModelBounds);
+ tmpModelBounds.getDimensions(tmpDimensions);
if (scaleToSize != null) {
- MathHelpers.getScaleFactor(tmpModelBounds.getDimensions(), scaleToSize, tmpScaleFactor);
+ MathHelpers.getScaleFactor(tmpDimensions, scaleToSize, tmpScaleFactor);
bounds = new BoundingBox().set(Vector3.Zero, scaleToSize);
} else {
- bounds = new BoundingBox().set(Vector3.Zero, tmpModelBounds.getDimensions());
+ bounds = new BoundingBox().set(Vector3.Zero, tmpDimensions);
tmpScaleFactor.set(1.0f, 1.0f, 1.0f);
}
@@ -89,7 +91,8 @@ public class ModelTileMesh extends BaseModelTileMesh {
private void setupCollisionVertices(Model collisionModel) {
if (scaleToSize != null) {
collisionModel.calculateBoundingBox(tmpModelBounds);
- MathHelpers.getScaleFactor(tmpModelBounds.getDimensions(), scaleToSize, tmpScaleFactor);
+ tmpModelBounds.getDimensions(tmpDimensions);
+ MathHelpers.getScaleFactor(tmpDimensions, scaleToSize, tmpScaleFactor);
} else
tmpScaleFactor.set(1.0f, 1.0f, 1.0f);
diff --git a/src/main/java/ca/blarg/gdx/tilemap3d/tilemesh/MultiModelTileMesh.java b/src/main/java/ca/blarg/gdx/tilemap3d/tilemesh/MultiModelTileMesh.java
index d34f21a..d75057b 100644
--- a/src/main/java/ca/blarg/gdx/tilemap3d/tilemesh/MultiModelTileMesh.java
+++ b/src/main/java/ca/blarg/gdx/tilemap3d/tilemesh/MultiModelTileMesh.java
@@ -85,6 +85,7 @@ public class MultiModelTileMesh extends BaseModelTileMesh {
bounds = new BoundingBox();
BoundingBox tmpBounds = new BoundingBox();
+ Vector3 tmpDimensions = new Vector3();
// collect the vertices from each of the models provided
for (int i = 0; i < models.length; ++i) {
@@ -102,11 +103,12 @@ public class MultiModelTileMesh extends BaseModelTileMesh {
Vector3 scaleFactor = new Vector3();
submodel.calculateBoundingBox(tmpBounds);
+ tmpBounds.getDimensions(tmpDimensions);
if (scaleToSize != null) {
- MathHelpers.getScaleFactor(tmpBounds.getDimensions(), scaleToSize, scaleFactor);
+ MathHelpers.getScaleFactor(tmpDimensions, scaleToSize, scaleFactor);
submodelBounds.set(Vector3.Zero, scaleToSize);
} else {
- submodelBounds.set(Vector3.Zero, tmpBounds.getDimensions());
+ submodelBounds.set(Vector3.Zero, tmpDimensions);
scaleFactor.set(1.0f, 1.0f, 1.0f);
}
bounds.ext(submodelBounds);
@@ -119,11 +121,12 @@ public class MultiModelTileMesh extends BaseModelTileMesh {
// figure out what the final scaled bounds and scale factor will be
Vector3 scaleFactor = new Vector3();
+ bounds.getDimensions(tmpDimensions);
if (scaleToSize != null) {
- MathHelpers.getScaleFactor(bounds.getDimensions(), scaleToSize, scaleFactor);
+ MathHelpers.getScaleFactor(tmpDimensions, scaleToSize, scaleFactor);
bounds = new BoundingBox().set(Vector3.Zero, scaleToSize);
} else {
- bounds = new BoundingBox().set(Vector3.Zero, bounds.getDimensions());
+ bounds = new BoundingBox().set(Vector3.Zero, tmpDimensions);
scaleFactor.set(1.0f, 1.0f, 1.0f);
}
@@ -140,11 +143,12 @@ public class MultiModelTileMesh extends BaseModelTileMesh {
private void setupCollisionVertices(Model collisionModel) {
if (collisionModel != null) {
BoundingBox tmpBounds = new BoundingBox();
+ Vector3 tmpDimensions = new Vector3();
Vector3 scaleFactor = new Vector3();
if (scaleToSize != null) {
collisionModel.calculateBoundingBox(tmpBounds);
- MathHelpers.getScaleFactor(tmpBounds.getDimensions(), scaleToSize, scaleFactor);
+ MathHelpers.getScaleFactor(tmpDimensions, scaleToSize, scaleFactor);
} else
scaleFactor.set(1.0f, 1.0f, 1.0f);