From bf0ece8061738374d1200af0267e4a0e69d7dd78 Mon Sep 17 00:00:00 2001
From: UbitUmarov
Date: Sat, 5 May 2018 04:27:41 +0100
Subject: fix warp3d textures UV

---
 .../Region/CoreModules/World/Warp3DMap/Warp3DImageModule.cs    | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/OpenSim/Region/CoreModules/World/Warp3DMap/Warp3DImageModule.cs b/OpenSim/Region/CoreModules/World/Warp3DMap/Warp3DImageModule.cs
index ce017aa..387248c 100644
--- a/OpenSim/Region/CoreModules/World/Warp3DMap/Warp3DImageModule.cs
+++ b/OpenSim/Region/CoreModules/World/Warp3DMap/Warp3DImageModule.cs
@@ -440,8 +440,7 @@ namespace OpenSim.Region.CoreModules.World.Warp3DMap
                                 Image sculpt = imgDecoder.DecodeToImage(sculptAsset);
                                 if(sculpt != null)
                                 {
-                                    renderMesh = m_primMesher.GenerateFacetedSculptMesh(omvPrim,(Bitmap)sculpt,
-                                                                                            DetailLevel.Medium);
+                                    renderMesh = m_primMesher.GenerateFacetedSculptMesh(omvPrim,(Bitmap)sculpt, DetailLevel.High);
                                     sculpt.Dispose();
                                 }
                             }
@@ -453,7 +452,7 @@ namespace OpenSim.Region.CoreModules.World.Warp3DMap
             // If not a mesh or sculptie, try the regular mesher
             if (renderMesh == null)
             {
-                renderMesh = m_primMesher.GenerateFacetedMesh(omvPrim, DetailLevel.Medium);
+                renderMesh = m_primMesher.GenerateFacetedMesh(omvPrim, DetailLevel.High);
             }
 
             if (renderMesh == null)
@@ -477,7 +476,7 @@ namespace OpenSim.Region.CoreModules.World.Warp3DMap
                 {
                     Vertex v = face.Vertices[j];
                     warp_Vector pos = ConvertVector(v.Position);
-                    warp_Vertex vert = new warp_Vertex(pos, v.TexCoord.X, v.TexCoord.Y);
+                    warp_Vertex vert = new warp_Vertex(pos, v.TexCoord.X, 1.0f - v.TexCoord.Y);
                     faceObj.addVertex(vert);
                 }
 
@@ -497,12 +496,13 @@ namespace OpenSim.Region.CoreModules.World.Warp3DMap
                 else
                     materialName = GetOrCreateMaterial(renderer, faceColor);
 
+                faceObj.scaleSelf(prim.Scale.X, prim.Scale.Z, prim.Scale.Y);
+
                 warp_Vector primPos = ConvertVector(prim.GetWorldPosition());
                 warp_Quaternion primRot = ConvertQuaternion(prim.GetWorldRotation());
                 warp_Matrix m = warp_Matrix.quaternionMatrix(primRot);
                 faceObj.transform(m);
                 faceObj.setPos(primPos);
-                faceObj.scaleSelf(prim.Scale.X, prim.Scale.Z, prim.Scale.Y);
 
                 renderer.Scene.addObject(meshName, faceObj);
                 renderer.SetObjectMaterial(meshName, materialName);
-- 
cgit v1.1