Graphics::cMaterialManager class

The implementation of IMaterialManager; this should only be used for extending and detouring.

Base classes

class IMaterialManager
This manager stores the information of materials, which are used to control the visual appearance of game objects.
class IVirtual
A default interface that provides a virtual destructor, it should only be used internally.

Public functions

auto ReadCompiledShadersImpl(IO::IStream* pStream) -> bool
auto ReadMaterialsImpl(IO::IStream* pLinkStream, RenderWare::RenderWareFile* pRenderWare) -> bool
auto ReadShaderFragments(Resource::Database* pDatabase) -> bool

Public variables

int mnRefCount
int field_0C
UnkMatManager field_10
int field_16C
int field_170
eastl::hash_map<uint32_t, Material> mMaterials
eastl::hash_map<RenderWare::CompiledState*, uint32_t> field_194
RenderWare::CompiledState* mpDefaultCompiledState
bool field_1B8
int _padding_1BC
int field_1CC
int field_1D0
int field_1D4
eastl::fixed_vector<int, 4> field_1D8
int mShaderPath
eastl::intrusive_ptr<RenderWare::RenderWareFile> mpCompiledStatesFile
Clock field_208
int field_220
int field_224
int field_228
int field_22C
int field_230
int field_234
int field_238
bool field_23C
int field_240
eastl::vector<MaterialPtr> mTexturedMaterials
Mutex mMaterialsMutex