From bb644be5e0426deee42ab0377d6058c091913297 Mon Sep 17 00:00:00 2001 From: "Kae..pl" Date: Tue, 7 Aug 2012 14:51:05 +0000 Subject: [PATCH] Fix to specifying texture UV coordinates for generated textures. git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@9627 75d07b2b-3a1a-0410-a2c5-0572b91ccdca --- .../scene/plugins/blender/textures/TriangulatedTexture.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/engine/src/blender/com/jme3/scene/plugins/blender/textures/TriangulatedTexture.java b/engine/src/blender/com/jme3/scene/plugins/blender/textures/TriangulatedTexture.java index b15408fa9..956e80508 100644 --- a/engine/src/blender/com/jme3/scene/plugins/blender/textures/TriangulatedTexture.java +++ b/engine/src/blender/com/jme3/scene/plugins/blender/textures/TriangulatedTexture.java @@ -577,6 +577,11 @@ import com.jme3.util.BufferUtils; uvs[0] = (point.x - boundingBox.getCenter().x)/(boundingBox.getXExtent() == 0 ? 1 : boundingBox.getXExtent()); uvs[1] = (point.y - boundingBox.getCenter().y)/(boundingBox.getYExtent() == 0 ? 1 : boundingBox.getYExtent()); uvs[2] = (point.z - boundingBox.getCenter().z)/(boundingBox.getZExtent() == 0 ? 1 : boundingBox.getZExtent()); + //UVS cannot go outside <0, 1> range, but since we are generating texture for triangle envelope it might happen that + //some points of the envelope will exceet the bounding box of the mesh thus generating uvs outside the range + for (int i = 0; i < 3; ++i) { + uvs[i] = FastMath.clamp(uvs[i], 0, 1); + } } /**