public AlphaSplatTerrainConfig(string title, AutoSplatRules autoSplatRules, MosaicDescription srcdesc) { InitTextureNames(); // Override texture names from rules, if applicable for (int i = 0; i < autoSplatRules.layerTextureNames.Length; i++) { if (!string.IsNullOrEmpty(autoSplatRules.layerTextureNames[i])) { layerTextureNames[i] = autoSplatRules.layerTextureNames[i]; } } // Create alpha map texture mosaics for (int i = 0; i < NUM_ALPHA_MAPS; i++) { string alphaMapMosaicName = title + "AlphaMap" + i; MosaicDescription desc = new MosaicDescription(alphaMapMosaicName, srcdesc); alphaMapMosaicNames[i] = alphaMapMosaicName; alphaMapMosaics[i] = new TextureMosaic(alphaMapMosaicName, 0, desc); alphaMapMosaics[i].MosaicModificationStateChanged += Mosaic_OnMosaicModificationStateChanged; alphaMapMosaics[i].MosaicChanged += Mosaic_OnMosaicChanged; } AutoSplatRules = autoSplatRules; InitializeAutoSplatRules(srcdesc); }
public MosaicDescription(string newName, MosaicDescription src) : this(newName, src.MosaicType, src.DefaultTerrainSaveDirectory, src.FileExt, src.SizeXPixels, src.SizeZPixels, src.SizeXTiles, src.SizeZTiles, src.TileSizeSamples, src.MetersPerSample, src.WrapFlag, src.UnifiedScale, src.GlobalMinHeightMeters, src.GlobalMaxHeightMeters, 0, false) { }
protected Mosaic(string baseName, int preloadRadius, MosaicDescription desc) { this.desc = desc; //todo: save description into MMF file using baseName BaseName = baseName; this.preloadRadius = preloadRadius; Init(); }
public HeightfieldTerrainGenerator(string heightfieldName, int preloadRadius, float outsideHeight, MosaicDescription desc) { this.heightfieldName = heightfieldName; this.preloadRadius = preloadRadius; this.outsideHeight = outsideHeight; Mosaic = new HeightfieldMosaic(heightfieldName, preloadRadius, outsideHeight, desc); Mosaic.MosaicModificationStateChanged += Mosaic_OnMosaicModificationStateChanged; Mosaic.MosaicChanged += Mosaic_OnMosaicChanged; }
protected Mosaic(string baseName, int preloadRadius) { Stream s = ResourceManager.FindCommonResourceData(string.Format("{0}.mmf", baseName)); desc = new MosaicDescription(s); BaseName = baseName; this.preloadRadius = preloadRadius; Init(); }
protected MosaicTile(Mosaic parent, int tileSizeSamples, float metersPerSample, int tileX, int tileZ, Vector3 worldLoc) { this.parent = parent; this.tileSizeSamples = tileSizeSamples; this.metersPerSample = metersPerSample; this.tileX = tileX; this.tileZ = tileZ; this.worldLoc = worldLoc; MosaicDescription desc = parent.MosaicDesc; available = desc.TileAvailable(tileX, tileZ); }
private void InitializeAutoSplatRules(MosaicDescription desc) { if (AutoSplatRules != null) { return; } long minHeightMM; long maxHeightMM; if (desc == null) { // Set arbitrary min/max heights minHeightMM = -10000 * (long)TerrainManager.oneMeter; maxHeightMM = 10000 * (long)TerrainManager.oneMeter; } else { minHeightMM = (long)(desc.GlobalMinHeightMeters * TerrainManager.oneMeter); maxHeightMM = (long)(desc.GlobalMaxHeightMeters * TerrainManager.oneMeter); } AutoSplatRules = new AutoSplatRules(minHeightMM, maxHeightMM, new AutoSplatConfig()); }
private void InitializeAutoSplatRules(MosaicDescription desc) { if (AutoSplatRules != null) { return; } long minHeightMM; long maxHeightMM; if (desc == null) { // Set arbitrary min/max heights minHeightMM = -10000 * (long) TerrainManager.oneMeter; maxHeightMM = 10000*(long) TerrainManager.oneMeter; } else { minHeightMM = (long) (desc.GlobalMinHeightMeters * TerrainManager.oneMeter); maxHeightMM = (long) (desc.GlobalMaxHeightMeters * TerrainManager.oneMeter); } AutoSplatRules = new AutoSplatRules(minHeightMM, maxHeightMM, new AutoSplatConfig()); }
public HeightfieldMosaic(string baseName, int preloadRadius, float defaultHeightMM, MosaicDescription desc) : base(baseName, preloadRadius, 0, desc) { Init(defaultHeightMM); }
public AlphaSplatTerrainConfig(XmlReader r, MosaicDescription heightfieldMosaic) { InitTextureNames(); FromXml(r); InitializeAutoSplatRules(heightfieldMosaic); }
public TextureMosaic(string baseName, int preloadRadius, MosaicDescription desc) : base(baseName, preloadRadius, desc) { }
public AlphaSplatTerrainConfig( XmlReader r, MosaicDescription heightfieldMosaic ) { InitTextureNames(); FromXml( r ); InitializeAutoSplatRules( heightfieldMosaic ); }
public DataMosaic(string baseName, int preloadRadius, int defaultValue, MosaicDescription desc) : base(baseName, preloadRadius, desc) { this.defaultValue = defaultValue; }