From 8eacc6b2077b302132eae82ce4bf22bf35b62ac5 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 23 Aug 2016 10:58:34 +0100 Subject: [PATCH] replace warp3D.dll by a newer modified version. (only minor testing done :( --- .../World/Warp3DMap/Warp3DImageModule.cs | 158 ++++++------------ .../World/WorldMap/WorldMapModule.cs | 4 +- bin/Warp3D.dll | Bin 77824 -> 68096 bytes 3 files changed, 56 insertions(+), 106 deletions(-) diff --git a/OpenSim/Region/CoreModules/World/Warp3DMap/Warp3DImageModule.cs b/OpenSim/Region/CoreModules/World/Warp3DMap/Warp3DImageModule.cs index 443eee1da7..e2c1c01c8c 100644 --- a/OpenSim/Region/CoreModules/World/Warp3DMap/Warp3DImageModule.cs +++ b/OpenSim/Region/CoreModules/World/Warp3DMap/Warp3DImageModule.cs @@ -35,7 +35,7 @@ using System.Reflection; using CSJ2K; using Nini.Config; using log4net; -using Rednettle.Warp3D; +using Warp3D; using Mono.Addins; using OpenSim.Framework; @@ -76,11 +76,10 @@ namespace OpenSim.Region.CoreModules.World.Warp3DMap private bool m_texturePrims = true; // true if should texture the rendered prims private float m_texturePrimSize = 48f; // size of prim before we consider texturing it private bool m_renderMeshes = false; // true if to render meshes rather than just bounding boxes - private bool m_useAntiAliasing = false; // true if to anti-alias the rendered image private bool m_Enabled = false; - private Bitmap lastImage = null; +// private Bitmap lastImage = null; private DateTime lastImageTime = DateTime.MinValue; #region Region Module interface @@ -107,10 +106,7 @@ namespace OpenSim.Region.CoreModules.World.Warp3DMap = Util.GetConfigVarFromSections(m_config, "TexturePrimSize", configSections, m_texturePrimSize); m_renderMeshes = Util.GetConfigVarFromSections(m_config, "RenderMeshes", configSections, m_renderMeshes); - m_useAntiAliasing - = Util.GetConfigVarFromSections(m_config, "UseAntiAliasing", configSections, m_useAntiAliasing); - - } + } public void AddRegion(Scene scene) { @@ -201,21 +197,14 @@ namespace OpenSim.Region.CoreModules.World.Warp3DMap int width = viewport.Width; int height = viewport.Height; - if (m_useAntiAliasing) - { - width *= 2; - height *= 2; - } - WarpRenderer renderer = new WarpRenderer(); - renderer.CreateScene(width, height); - renderer.Scene.autoCalcNormals = false; + if(!renderer.CreateScene(width, height)) + return new Bitmap(width,height); #region Camera warp_Vector pos = ConvertVector(viewport.Position); - pos.z -= 0.001f; // Works around an issue with the Warp3D camera warp_Vector lookat = warp_Vector.add(ConvertVector(viewport.Position), ConvertVector(viewport.LookDirection)); renderer.Scene.defaultCamera.setPos(pos); @@ -247,24 +236,8 @@ namespace OpenSim.Region.CoreModules.World.Warp3DMap renderer.Render(); Bitmap bitmap = renderer.Scene.getImage(); - if (m_useAntiAliasing) - { - using (Bitmap origBitmap = bitmap) - bitmap = ImageUtils.ResizeImage(origBitmap, viewport.Width, viewport.Height); - } - - // XXX: It shouldn't really be necesary to force a GC here as one should occur anyway pretty shortly - // afterwards. It's generally regarded as a bad idea to manually GC. If Warp3D is using lots of memory - // then this may be some issue with the Warp3D code itself, though it's also quite possible that generating - // this map tile simply takes a lot of memory. - foreach (var o in renderer.Scene.objectData.Values) - { - warp_Object obj = (warp_Object)o; - obj.vertexData = null; - obj.triangleData = null; - } - - renderer.Scene.removeAllObjects(); + renderer.Scene.destroy(); + renderer.Reset(); renderer = null; viewport = null; @@ -301,9 +274,9 @@ namespace OpenSim.Region.CoreModules.World.Warp3DMap float waterHeight = (float)m_scene.RegionInfo.RegionSettings.WaterHeight; renderer.AddPlane("Water", m_scene.RegionInfo.RegionSizeX * 0.5f); - renderer.Scene.sceneobject("Water").setPos(m_scene.RegionInfo.RegionSizeX / 2 - 0.5f, + renderer.Scene.sceneobject("Water").setPos(m_scene.RegionInfo.RegionSizeX * 0.5f - 0.5f, waterHeight, - m_scene.RegionInfo.RegionSizeY / 2 - 0.5f); + m_scene.RegionInfo.RegionSizeY * 0.5f - 0.5f); warp_Material waterColorMaterial = new warp_Material(ConvertColor(WATER_COLOR)); waterColorMaterial.setReflectivity(0); // match water color with standard map module thanks lkalif @@ -319,53 +292,53 @@ namespace OpenSim.Region.CoreModules.World.Warp3DMap { ITerrainChannel terrain = m_scene.Heightmap; + float regionsx = m_scene.RegionInfo.RegionSizeX; + float regionsy = m_scene.RegionInfo.RegionSizeY; + // 'diff' is the difference in scale between the real region size and the size of terrain we're buiding - float diff = (float)m_scene.RegionInfo.RegionSizeX / 256f; + float diff = regionsx / 256f; - warp_Object obj = new warp_Object(256 * 256, 255 * 255 * 2); + int npointsx =(int)(regionsx / diff); + int npointsy =(int)(regionsy / diff); + + float invsx = 1.0f / regionsx; + float invsy = 1.0f / (float)m_scene.RegionInfo.RegionSizeY; // Create all the vertices for the terrain - for (float y = 0; y < m_scene.RegionInfo.RegionSizeY; y += diff) + warp_Object obj = new warp_Object(); + for (float y = 0; y < regionsy; y += diff) { - for (float x = 0; x < m_scene.RegionInfo.RegionSizeX; x += diff) + for (float x = 0; x < regionsx; x += diff) { - warp_Vector pos = ConvertVector(x, y, (float)terrain[(int)x, (int)y]); - obj.addVertex(new warp_Vertex(pos, - x / (float)m_scene.RegionInfo.RegionSizeX, - (((float)m_scene.RegionInfo.RegionSizeY) - y) / m_scene.RegionInfo.RegionSizeY)); + warp_Vector pos = ConvertVector(x , y , (float)terrain[(int)x, (int)y]); + obj.addVertex(new warp_Vertex(pos, x * invsx, 1.0f - y * invsy)); } } - // Now that we have all the vertices, make another pass and create - // the normals for each of the surface triangles and - // create the list of triangle indices. - for (float y = 0; y < m_scene.RegionInfo.RegionSizeY; y += diff) + // Now that we have all the vertices, make another pass and + // create the list of triangle indices. + float invdiff = 1.0f / diff; + int limx = npointsx - 1; + int limy = npointsy - 1; + for (float y = 0; y < regionsy; y += diff) { - for (float x = 0; x < m_scene.RegionInfo.RegionSizeX; x += diff) + for (float x = 0; x < regionsx; x += diff) { - float newX = x / diff; - float newY = y / diff; - if (newX < 255 && newY < 255) + float newX = x * invdiff; + float newY = y * invdiff; + if (newX < limx && newY < limy) { - int v = (int)newY * 256 + (int)newX; - - // Normal for a triangle made up of three adjacent vertices - Vector3 v1 = new Vector3(newX, newY, (float)terrain[(int)x, (int)y]); - Vector3 v2 = new Vector3(newX + 1, newY, (float)terrain[(int)(x + 1), (int)y]); - Vector3 v3 = new Vector3(newX, newY + 1, (float)terrain[(int)x, ((int)(y + 1))]); - warp_Vector norm = ConvertVector(SurfaceNormal(v1, v2, v3)); - norm = norm.reverse(); - obj.vertex(v).n = norm; + int v = (int)newY * npointsx + (int)newX; // Make two triangles for each of the squares in the grid of vertices obj.addTriangle( v, v + 1, - v + 256); + v + npointsx); obj.addTriangle( - v + 256 + 1, - v + 256, + v + npointsx + 1, + v + npointsx, v + 1); } } @@ -398,14 +371,10 @@ namespace OpenSim.Region.CoreModules.World.Warp3DMap Util.RegionHandleToWorldLoc(m_scene.RegionInfo.RegionHandle, out globalX, out globalY); warp_Texture texture; - using ( - Bitmap image - = TerrainSplat.Splat( + using (Bitmap image = TerrainSplat.Splat( terrain, textureIDs, startHeights, heightRanges, new Vector3d(globalX, globalY, 0.0), m_scene.AssetService, textureTerrain)) - { texture = new warp_Texture(image); - } warp_Material material = new warp_Material(texture); material.setReflectivity(50); @@ -431,11 +400,13 @@ namespace OpenSim.Region.CoreModules.World.Warp3DMap private void CreatePrim(WarpRenderer renderer, SceneObjectPart prim, bool useTextures) { - const float MIN_SIZE = 2f; + const float MIN_SIZE_SQUARE = 4f; if ((PCode)prim.Shape.PCode != PCode.Prim) return; - if (prim.Scale.LengthSquared() < MIN_SIZE * MIN_SIZE) + float primScaleLenSquared = prim.Scale.LengthSquared(); + + if (primScaleLenSquared < MIN_SIZE_SQUARE) return; FacetedMesh renderMesh = null; @@ -459,13 +430,13 @@ namespace OpenSim.Region.CoreModules.World.Warp3DMap else // It's sculptie { IJ2KDecoder imgDecoder = m_scene.RequestModuleInterface(); - if (imgDecoder != null) + if(imgDecoder != null) { Image sculpt = imgDecoder.DecodeToImage(sculptAsset); - if (sculpt != null) + if(sculpt != null) { - renderMesh = m_primMesher.GenerateFacetedSculptMesh(omvPrim, (Bitmap)sculpt, - DetailLevel.Medium); + renderMesh = m_primMesher.GenerateFacetedSculptMesh(omvPrim,(Bitmap)sculpt, + DetailLevel.Medium); sculpt.Dispose(); } } @@ -483,20 +454,6 @@ namespace OpenSim.Region.CoreModules.World.Warp3DMap if (renderMesh == null) return; - warp_Vector primPos = ConvertVector(prim.GetWorldPosition()); - warp_Quaternion primRot = ConvertQuaternion(prim.RotationOffset); - - warp_Matrix m = warp_Matrix.quaternionMatrix(primRot); - - if (prim.ParentID != 0) - { - SceneObjectGroup group = m_scene.SceneGraph.GetGroupByPrim(prim.LocalId); - if (group != null) - m.transform(warp_Matrix.quaternionMatrix(ConvertQuaternion(group.RootPart.RotationOffset))); - } - - warp_Vector primScale = ConvertVector(prim.Scale); - string primID = prim.UUID.ToString(); // Create the prim faces @@ -504,27 +461,18 @@ namespace OpenSim.Region.CoreModules.World.Warp3DMap for (int i = 0; i < renderMesh.Faces.Count; i++) { Face face = renderMesh.Faces[i]; - string meshName = primID + "-Face-" + i.ToString(); + string meshName = primID + i.ToString(); // Avoid adding duplicate meshes to the scene if (renderer.Scene.objectData.ContainsKey(meshName)) - { continue; - } - - warp_Object faceObj = new warp_Object(face.Vertices.Count, face.Indices.Count / 3); + warp_Object faceObj = new warp_Object(); for (int j = 0; j < face.Vertices.Count; j++) { Vertex v = face.Vertices[j]; - warp_Vector pos = ConvertVector(v.Position); - warp_Vector norm = ConvertVector(v.Normal); - - if (prim.Shape.SculptTexture == UUID.Zero) - norm = norm.reverse(); - warp_Vertex vert = new warp_Vertex(pos, norm, v.TexCoord.X, v.TexCoord.Y); - + warp_Vertex vert = new warp_Vertex(pos, v.TexCoord.X, v.TexCoord.Y); faceObj.addVertex(vert); } @@ -539,17 +487,19 @@ namespace OpenSim.Region.CoreModules.World.Warp3DMap Primitive.TextureEntryFace teFace = prim.Shape.Textures.GetFace((uint)i); Color4 faceColor = GetFaceColor(teFace); string materialName = String.Empty; - if (m_texturePrims && prim.Scale.LengthSquared() > m_texturePrimSize*m_texturePrimSize) + if (m_texturePrims && primScaleLenSquared > m_texturePrimSize*m_texturePrimSize) materialName = GetOrCreateMaterial(renderer, faceColor, teFace.TextureID); else materialName = GetOrCreateMaterial(renderer, faceColor); + 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(primScale.x, primScale.y, primScale.z); + faceObj.scaleSelf(prim.Scale.X, prim.Scale.Z, prim.Scale.Y); renderer.Scene.addObject(meshName, faceObj); - renderer.SetObjectMaterial(meshName, materialName); } } diff --git a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs index 88ce305096..57ec800c39 100644 --- a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs +++ b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs @@ -1617,9 +1617,9 @@ namespace OpenSim.Region.CoreModules.World.WorldMap int mb = bx; if(mb < by) mb = by; - if(mb > 2 * Constants.RegionSize && mb > 0) + if(mb > Constants.RegionSize && mb > 0) { - float scale = 2.0f * (float)Constants.RegionSize/(float)mb; + float scale = (float)Constants.RegionSize/(float)mb; Size newsize = new Size(); newsize.Width = (int)(bx * scale); newsize.Height = (int)(by * scale); diff --git a/bin/Warp3D.dll b/bin/Warp3D.dll index 8781a82bab7dca696490eb41e89f08f2db9c2716..0d9a6102ad9dd542bab557d1701c502915ee2c7a 100755 GIT binary patch literal 68096 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 R8t7}FuYtY>{?BRPzW{xD_vios