From 816b082c73336e1ac2c29a7546e85da7f268b85b Mon Sep 17 00:00:00 2001 From: "Kae..pl" Date: Sun, 13 May 2012 15:09:58 +0000 Subject: [PATCH] Adding UV coordinates to the model if they are defined for the mesh even if no material is applied. git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@9383 75d07b2b-3a1a-0410-a2c5-0572b91ccdca --- .../jme3/scene/plugins/blender/meshes/MeshHelper.java | 11 +++++++++++ 1 file changed, 11 insertions(+) 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 07a2bb86f..c20a7a8a2 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 @@ -360,8 +360,19 @@ public class MeshHelper extends AbstractBlenderHelper { materialContext.applyMaterial(geometry, structure.getOldMemoryAddress(), noTextures, uvCoordinates.get(Integer.valueOf(materialNumber)), blenderContext); } } else { + //add UV coordinates if they are defined even if the material is not applied to the model + VertexBuffer uvCoordsBuffer = null; + if(uvCoordinates.size() > 0) { + List uvs = uvCoordinates.get(0); + uvCoordsBuffer = new VertexBuffer(Type.TexCoord); + uvCoordsBuffer.setupData(Usage.Static, 2, Format.Float, BufferUtils.createFloatBuffer(uvs.toArray(new Vector2f[uvs.size()]))); + } + for(Geometry geometry : geometries) { geometry.setMaterial(blenderContext.getDefaultMaterial()); + if(uvCoordsBuffer != null) { + geometry.getMesh().setBuffer(uvCoordsBuffer); + } } }