Add material render metadata and loader parsing
This commit is contained in:
@@ -1,10 +1,26 @@
|
||||
#include <XCEngine/Core/Asset/ResourceManager.h>
|
||||
#include <XCEngine/Core/Asset/ResourceHandle.h>
|
||||
#include <XCEngine/Core/Asset/ResourceTypes.h>
|
||||
#include <XCEngine/Resources/Material/MaterialLoader.h>
|
||||
#include <XCEngine/Resources/Shader/ShaderLoader.h>
|
||||
|
||||
namespace XCEngine {
|
||||
namespace Resources {
|
||||
|
||||
namespace {
|
||||
|
||||
template<typename TLoader>
|
||||
void RegisterBuiltinLoader(ResourceManager& manager, TLoader& loader) {
|
||||
if (manager.GetLoader(loader.GetResourceType()) == nullptr) {
|
||||
manager.RegisterLoader(&loader);
|
||||
}
|
||||
}
|
||||
|
||||
MaterialLoader g_materialLoader;
|
||||
ShaderLoader g_shaderLoader;
|
||||
|
||||
} // namespace
|
||||
|
||||
ResourceManager& ResourceManager::Get() {
|
||||
static ResourceManager instance;
|
||||
return instance;
|
||||
@@ -13,6 +29,9 @@ ResourceManager& ResourceManager::Get() {
|
||||
void ResourceManager::Initialize() {
|
||||
m_asyncLoader = Core::MakeUnique<AsyncLoader>();
|
||||
m_asyncLoader->Initialize(2);
|
||||
|
||||
RegisterBuiltinLoader(*this, g_materialLoader);
|
||||
RegisterBuiltinLoader(*this, g_shaderLoader);
|
||||
}
|
||||
|
||||
void ResourceManager::Shutdown() {
|
||||
|
||||
Reference in New Issue
Block a user