3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/renderer/game/MaterialVariationManager.h"
7#include "mc/client/renderer/game/TerrainVariation.h"
8#include "mc/deps/core/utility/buffer_span.h"
9#include "mc/deps/core/utility/optional_ref.h"
10#include "mc/deps/minecraft_renderer/game/TerrainLayerLOD.h"
31 ::ll::TypedStorage<8, 8, uint64> mLayerID;
32 ::ll::TypedStorage<1, 1, ::TerrainLayerLOD> mLOD;
36 using TerrainLayerMaterialMap = ::std::map<::TerrainMaterialVariationManager::TerrainLayerKey, ::mce::MaterialPtr>;
41 ::ll::TypedStorage<8, 8, ::mce::RenderMaterialGroup*> mRenderMaterialGroup;
42 ::ll::TypedStorage<8, 32, ::std::string> mVariationName;
43 ::ll::TypedStorage<8, 32, ::std::string> mFullVariationName;
44 ::ll::TypedStorage<8, 32, ::std::string> mFullParentVariationName;
45 ::ll::TypedStorage<8, 16, ::std::map<::TerrainVariation, ::TerrainMaterialVariationManager>> mSubVariations;
46 ::ll::TypedStorage<8, 16, ::std::map<::TerrainMaterialVariationManager::TerrainLayerKey, ::mce::MaterialPtr>>
47 terrainLayerMaterialMap;
52 TerrainMaterialVariationManager();
57 MCAPI TerrainMaterialVariationManager(
58 ::mce::RenderMaterialGroup& renderMaterialGroup,
59 ::buffer_span<::std::string> variations
62 MCAPI
void addVariation(::std::string
const& variationNames);
64 MCAPI ::mce::MaterialPtr
const&
65 getMaterial(::TerrainLayer
const& terrainLayer, ::TerrainLayerLOD terrainLayerLOD)
const;
67 MCAPI ::optional_ref<::TerrainMaterialVariationManager const>
68 getVariationManager(::std::string
const& fullVariationName)
const;
70 MCAPI
void populateMaterialList(
bool assertIfMaterialIsntFound);
72 MCAPI ~TerrainMaterialVariationManager();
78 MCAPI
void* $ctor(::mce::RenderMaterialGroup& renderMaterialGroup, ::buffer_span<::std::string> variations);
Definition MaterialVariationManager.h:5
Definition TerrainMaterialVariationManager.h:5
Definition MaterialPtr.h:14
Definition RenderMaterialGroup.h:7
Definition TerrainLayer.h:5
Definition TerrainMaterialVariationManager.h:13