map3drendering/LandblockExtraction/AtlasMaker/TerrainAtlasManager.cs
2024-02-26 21:23:26 +01:00

33 lines
1.1 KiB
C#

using LandblockExtraction.DatEngine;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Numerics;
using System.Text;
using System.Threading.Tasks;
namespace LandblockExtraction.AtlasMaker;
public class TerrainAtlasManager {
private PortalEngine portalEngine;
private AtlasBuilder atlasBuilder;
public Dictionary<uint, Vector2> textureCoord;
public TerrainAtlasManager(PortalEngine portalEngine) {
this.portalEngine = portalEngine;
textureCoord = new Dictionary<uint, Vector2>();
atlasBuilder = new AtlasBuilder(portalEngine);
}
public void ExtractTexture() {
foreach(var terrain in portalEngine.cTerrainDesc.terrains) {
foreach(var surface in portalEngine.cSurfaceDesc.surfaces) {
if(surface.surfIndex == terrain.surfaceInfo) {
atlasBuilder.AddTexture(surface.terrainMaterials.First().baseMaterials.First().materialDid);
}
}
}
}
public void GenerateAtlas() {
atlasBuilder.GenerateAtlas();
}
}