Graphics/Model: add ModelLibrary, ModelManager, ModelSaver
This commit is contained in:
parent
3e82413604
commit
b782fd8431
|
|
@ -103,6 +103,7 @@ Nazara Engine:
|
||||||
- Added operator&/|/^ taking an enumeration value and a Flags object using the same enumeration type.
|
- Added operator&/|/^ taking an enumeration value and a Flags object using the same enumeration type.
|
||||||
- Added LuaState::CallWithHandler methods, allowing to setup a error handler function
|
- Added LuaState::CallWithHandler methods, allowing to setup a error handler function
|
||||||
- Added LuaState::Traceback method
|
- Added LuaState::Traceback method
|
||||||
|
- Added ModelLibrary, ModelManager and ModelSaver
|
||||||
|
|
||||||
Nazara Development Kit:
|
Nazara Development Kit:
|
||||||
- Added ImageWidget (#139)
|
- Added ImageWidget (#139)
|
||||||
|
|
|
||||||
|
|
@ -8,9 +8,11 @@
|
||||||
#define NAZARA_MODEL_HPP
|
#define NAZARA_MODEL_HPP
|
||||||
|
|
||||||
#include <Nazara/Prerequisites.hpp>
|
#include <Nazara/Prerequisites.hpp>
|
||||||
|
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||||
#include <Nazara/Core/Resource.hpp>
|
#include <Nazara/Core/Resource.hpp>
|
||||||
#include <Nazara/Core/ResourceLoader.hpp>
|
#include <Nazara/Core/ResourceLoader.hpp>
|
||||||
#include <Nazara/Core/ResourceParameters.hpp>
|
#include <Nazara/Core/ResourceParameters.hpp>
|
||||||
|
#include <Nazara/Core/ResourceSaver.hpp>
|
||||||
#include <Nazara/Math/Rect.hpp>
|
#include <Nazara/Math/Rect.hpp>
|
||||||
#include <Nazara/Graphics/InstancedRenderable.hpp>
|
#include <Nazara/Graphics/InstancedRenderable.hpp>
|
||||||
#include <Nazara/Graphics/Material.hpp>
|
#include <Nazara/Graphics/Material.hpp>
|
||||||
|
|
@ -32,12 +34,18 @@ namespace Nz
|
||||||
class Model;
|
class Model;
|
||||||
|
|
||||||
using ModelConstRef = ObjectRef<const Model>;
|
using ModelConstRef = ObjectRef<const Model>;
|
||||||
|
using ModelLibrary = ObjectLibrary<Model>;
|
||||||
using ModelLoader = ResourceLoader<Model, ModelParameters>;
|
using ModelLoader = ResourceLoader<Model, ModelParameters>;
|
||||||
|
using ModelManager = ResourceManager<Model, ModelParameters>;
|
||||||
using ModelRef = ObjectRef<Model>;
|
using ModelRef = ObjectRef<Model>;
|
||||||
|
using ModelSaver = ResourceSaver<Model, ModelParameters>;
|
||||||
|
|
||||||
class NAZARA_GRAPHICS_API Model : public InstancedRenderable, public Resource
|
class NAZARA_GRAPHICS_API Model : public InstancedRenderable, public Resource
|
||||||
{
|
{
|
||||||
|
friend ModelLibrary;
|
||||||
friend ModelLoader;
|
friend ModelLoader;
|
||||||
|
friend ModelManager;
|
||||||
|
friend ModelSaver;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
inline Model();
|
inline Model();
|
||||||
|
|
@ -77,7 +85,11 @@ namespace Nz
|
||||||
|
|
||||||
NazaraSlot(Mesh, OnMeshInvalidateAABB, m_meshAABBInvalidationSlot);
|
NazaraSlot(Mesh, OnMeshInvalidateAABB, m_meshAABBInvalidationSlot);
|
||||||
|
|
||||||
|
static ModelLibrary::LibraryMap s_library;
|
||||||
static ModelLoader::LoaderList s_loaders;
|
static ModelLoader::LoaderList s_loaders;
|
||||||
|
static ModelManager::ManagerMap s_managerMap;
|
||||||
|
static ModelManager::ManagerParams s_managerParameters;
|
||||||
|
static ModelSaver::SaverList s_savers;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -277,5 +277,9 @@ namespace Nz
|
||||||
m_boundingVolume.MakeNull();
|
m_boundingVolume.MakeNull();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ModelLibrary::LibraryMap Model::s_library;
|
||||||
ModelLoader::LoaderList Model::s_loaders;
|
ModelLoader::LoaderList Model::s_loaders;
|
||||||
|
ModelManager::ManagerMap Model::s_managerMap;
|
||||||
|
ModelManager::ManagerParams Model::s_managerParameters;
|
||||||
|
ModelSaver::SaverList Model::s_savers;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue