From a4b6107f5b7c1aaf820569260e1bf174721a9f0a Mon Sep 17 00:00:00 2001 From: "Kae..pl" Date: Fri, 15 Nov 2013 14:12:11 +0000 Subject: [PATCH] Bugfix: loading vertex colors for B-Mesh (fix provided by Remo Arpagaus). git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@10890 75d07b2b-3a1a-0410-a2c5-0572b91ccdca --- .../jme3/scene/plugins/blender/meshes/MeshHelper.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/engine/src/blender/com/jme3/scene/plugins/blender/meshes/MeshHelper.java b/engine/src/blender/com/jme3/scene/plugins/blender/meshes/MeshHelper.java index 92da5770a..da1dfee9d 100644 --- a/engine/src/blender/com/jme3/scene/plugins/blender/meshes/MeshHelper.java +++ b/engine/src/blender/com/jme3/scene/plugins/blender/meshes/MeshHelper.java @@ -485,13 +485,12 @@ public class MeshHelper extends AbstractBlenderHelper { * @throws BlenderFileException * this exception is thrown when the blend file structure is somehow invalid or corrupted */ - public List getVerticesColors(Structure meshStructure, BlenderContext blenderContext) throws BlenderFileException { - Pointer pMCol = (Pointer) meshStructure.getFieldValue("mcol"); + private List getVerticesColors(Structure meshStructure, BlenderContext blenderContext) throws BlenderFileException { + Pointer pMCol = (Pointer) meshStructure.getFieldValue(this.isBMeshCompatible(meshStructure) ? "mloopcol" : "mcol"); List verticesColors = null; - List mCol = null; if (pMCol.isNotNull()) { - verticesColors = new ArrayList(); - mCol = pMCol.fetchData(blenderContext.getInputStream()); + List mCol = pMCol.fetchData(blenderContext.getInputStream()); + verticesColors = new ArrayList(mCol.size()); for (Structure color : mCol) { byte r = ((Number) color.getFieldValue("r")).byteValue(); byte g = ((Number) color.getFieldValue("g")).byteValue();