Example #1
0
 public static TerrainGeometrySubsets GTV(int x, int y, int z, TerrainGeometrySubsets geometry)
 {
     try
     {
         Point3       point       = new Point3(x, y, z);
         TerrainChunk chunkAtCell = terrain.GetChunkAtCell(x, z);
         if (chunkAtCell == null)
         {
             return(geometry);
         }
         if (!Data.TryGetValue(point, out geometry))
         {
             TerrainGeometrySubset  terrainGeometrySubset  = new TerrainGeometrySubset(new DynamicArray <TerrainVertex>(), new DynamicArray <ushort>());
             TerrainGeometrySubsets terrainGeometrySubsets = new TerrainGeometrySubsets();
             terrainGeometrySubsets.SubsetOpaque        = terrainGeometrySubset;
             terrainGeometrySubsets.SubsetAlphaTest     = terrainGeometrySubset;
             terrainGeometrySubsets.SubsetTransparent   = terrainGeometrySubset;
             terrainGeometrySubsets.OpaqueSubsetsByFace = new TerrainGeometrySubset[6]
             {
                 terrainGeometrySubset,
                 terrainGeometrySubset,
                 terrainGeometrySubset,
                 terrainGeometrySubset,
                 terrainGeometrySubset,
                 terrainGeometrySubset
             };
             terrainGeometrySubsets.TransparentSubsetsByFace = new TerrainGeometrySubset[6]
             {
                 terrainGeometrySubset,
                 terrainGeometrySubset,
                 terrainGeometrySubset,
                 terrainGeometrySubset,
                 terrainGeometrySubset,
                 terrainGeometrySubset
             };
             terrainGeometrySubsets.AlphaTestSubsetsByFace = new TerrainGeometrySubset[6]
             {
                 terrainGeometrySubset,
                 terrainGeometrySubset,
                 terrainGeometrySubset,
                 terrainGeometrySubset,
                 terrainGeometrySubset,
                 terrainGeometrySubset
             };
             geometry = terrainGeometrySubsets;
             Data.Add(point, geometry);
             return(geometry);
         }
     }
     catch (Exception e)
     {
         Log.Information(e.ToString());
     }
     return(geometry);
 }
        public static TerrainGeometrySubsets GTV(int x, int z, TerrainGeometrySubsets geometry)
        {
            TerrainChunk chunkAtCell = terrain.GetChunkAtCell(x, z);

            if (chunkAtCell == null)
            {
                return(geometry);
            }
            if (!ILibrary.Data.TryGetValue(chunkAtCell.Coords, out geometry))
            {
                TerrainGeometrySubset  terrainGeometrySubset  = new TerrainGeometrySubset(new DynamicArray <TerrainVertex>(), new DynamicArray <ushort>());
                TerrainGeometrySubsets terrainGeometrySubsets = new TerrainGeometrySubsets();
                terrainGeometrySubsets.SubsetOpaque        = terrainGeometrySubset;
                terrainGeometrySubsets.SubsetAlphaTest     = terrainGeometrySubset;
                terrainGeometrySubsets.SubsetTransparent   = terrainGeometrySubset;
                terrainGeometrySubsets.OpaqueSubsetsByFace = new TerrainGeometrySubset[6]
                {
                    terrainGeometrySubset,
                    terrainGeometrySubset,
                    terrainGeometrySubset,
                    terrainGeometrySubset,
                    terrainGeometrySubset,
                    terrainGeometrySubset
                };
                terrainGeometrySubsets.TransparentSubsetsByFace = new TerrainGeometrySubset[6]
                {
                    terrainGeometrySubset,
                    terrainGeometrySubset,
                    terrainGeometrySubset,
                    terrainGeometrySubset,
                    terrainGeometrySubset,
                    terrainGeometrySubset
                };
                terrainGeometrySubsets.AlphaTestSubsetsByFace = new TerrainGeometrySubset[6]
                {
                    terrainGeometrySubset,
                    terrainGeometrySubset,
                    terrainGeometrySubset,
                    terrainGeometrySubset,
                    terrainGeometrySubset,
                    terrainGeometrySubset
                };
                geometry = terrainGeometrySubsets;
                ILibrary.Data.Add(chunkAtCell.Coords, geometry);
            }
            return(geometry);
        }
 public TerrainChunkSliceGeometry()
 {
     Subsets = new TerrainGeometrySubset[7];
     for (int i = 0; i < Subsets.Length; i++)
     {
         Subsets[i] = new TerrainGeometrySubset();
     }
     SubsetOpaque        = Subsets[4];
     SubsetAlphaTest     = Subsets[5];
     SubsetTransparent   = Subsets[6];
     OpaqueSubsetsByFace = new TerrainGeometrySubset[6]
     {
         Subsets[0],
         Subsets[1],
         Subsets[2],
         Subsets[3],
         Subsets[4],
         Subsets[4]
     };
     AlphaTestSubsetsByFace = new TerrainGeometrySubset[6]
     {
         Subsets[5],
         Subsets[5],
         Subsets[5],
         Subsets[5],
         Subsets[5],
         Subsets[5]
     };
     TransparentSubsetsByFace = new TerrainGeometrySubset[6]
     {
         Subsets[6],
         Subsets[6],
         Subsets[6],
         Subsets[6],
         Subsets[6],
         Subsets[6]
     };
 }