Added a Library to most reference-counted classes
Former-commit-id: 3ed409a71dcd5ce4eec7672ac26f8fff00e3b136
This commit is contained in:
parent
e18e490c59
commit
53162c1722
|
|
@ -12,6 +12,7 @@
|
||||||
#include <Nazara/Core/InputStream.hpp>
|
#include <Nazara/Core/InputStream.hpp>
|
||||||
#include <Nazara/Core/NonCopyable.hpp>
|
#include <Nazara/Core/NonCopyable.hpp>
|
||||||
#include <Nazara/Core/ObjectRef.hpp>
|
#include <Nazara/Core/ObjectRef.hpp>
|
||||||
|
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||||
#include <Nazara/Core/RefCounted.hpp>
|
#include <Nazara/Core/RefCounted.hpp>
|
||||||
#include <Nazara/Core/Resource.hpp>
|
#include <Nazara/Core/Resource.hpp>
|
||||||
|
|
@ -29,6 +30,7 @@ class NzSoundBuffer;
|
||||||
|
|
||||||
using NzSoundBufferConstListener = NzObjectListenerWrapper<const NzSoundBuffer>;
|
using NzSoundBufferConstListener = NzObjectListenerWrapper<const NzSoundBuffer>;
|
||||||
using NzSoundBufferConstRef = NzObjectRef<const NzSoundBuffer>;
|
using NzSoundBufferConstRef = NzObjectRef<const NzSoundBuffer>;
|
||||||
|
using NzSoundBufferLibrary = NzObjectLibrary<NzSoundBuffer>;
|
||||||
using NzSoundBufferListener = NzObjectListenerWrapper<NzSoundBuffer>;
|
using NzSoundBufferListener = NzObjectListenerWrapper<NzSoundBuffer>;
|
||||||
using NzSoundBufferLoader = NzResourceLoader<NzSoundBuffer, NzSoundBufferParams>;
|
using NzSoundBufferLoader = NzResourceLoader<NzSoundBuffer, NzSoundBufferParams>;
|
||||||
using NzSoundBufferRef = NzObjectRef<NzSoundBuffer>;
|
using NzSoundBufferRef = NzObjectRef<NzSoundBuffer>;
|
||||||
|
|
@ -38,7 +40,9 @@ struct NzSoundBufferImpl;
|
||||||
class NAZARA_API NzSoundBuffer : public NzRefCounted, public NzResource, NzNonCopyable
|
class NAZARA_API NzSoundBuffer : public NzRefCounted, public NzResource, NzNonCopyable
|
||||||
{
|
{
|
||||||
friend NzSound;
|
friend NzSound;
|
||||||
|
friend NzSoundBufferLibrary;
|
||||||
friend NzSoundBufferLoader;
|
friend NzSoundBufferLoader;
|
||||||
|
friend class NzAudio;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
NzSoundBuffer() = default;
|
NzSoundBuffer() = default;
|
||||||
|
|
@ -66,8 +70,12 @@ class NAZARA_API NzSoundBuffer : public NzRefCounted, public NzResource, NzNonCo
|
||||||
private:
|
private:
|
||||||
unsigned int GetOpenALBuffer() const;
|
unsigned int GetOpenALBuffer() const;
|
||||||
|
|
||||||
|
static bool Initialize();
|
||||||
|
static void Uninitialize();
|
||||||
|
|
||||||
NzSoundBufferImpl* m_impl = nullptr;
|
NzSoundBufferImpl* m_impl = nullptr;
|
||||||
|
|
||||||
|
static NzSoundBufferLibrary::LibraryMap s_library;
|
||||||
static NzSoundBufferLoader::LoaderList s_loaders;
|
static NzSoundBufferLoader::LoaderList s_loaders;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@
|
||||||
|
|
||||||
#include <Nazara/Prerequesites.hpp>
|
#include <Nazara/Prerequesites.hpp>
|
||||||
#include <Nazara/Core/Color.hpp>
|
#include <Nazara/Core/Color.hpp>
|
||||||
|
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||||
#include <Nazara/Core/ObjectRef.hpp>
|
#include <Nazara/Core/ObjectRef.hpp>
|
||||||
#include <Nazara/Core/RefCounted.hpp>
|
#include <Nazara/Core/RefCounted.hpp>
|
||||||
|
|
@ -38,12 +39,14 @@ class NzMaterial;
|
||||||
|
|
||||||
using NzMaterialConstListener = NzObjectListenerWrapper<const NzMaterial>;
|
using NzMaterialConstListener = NzObjectListenerWrapper<const NzMaterial>;
|
||||||
using NzMaterialConstRef = NzObjectRef<const NzMaterial>;
|
using NzMaterialConstRef = NzObjectRef<const NzMaterial>;
|
||||||
|
using NzMaterialLibrary = NzObjectLibrary<NzMaterial>;
|
||||||
using NzMaterialListener = NzObjectListenerWrapper<NzMaterial>;
|
using NzMaterialListener = NzObjectListenerWrapper<NzMaterial>;
|
||||||
using NzMaterialLoader = NzResourceLoader<NzMaterial, NzMaterialParams>;
|
using NzMaterialLoader = NzResourceLoader<NzMaterial, NzMaterialParams>;
|
||||||
using NzMaterialRef = NzObjectRef<NzMaterial>;
|
using NzMaterialRef = NzObjectRef<NzMaterial>;
|
||||||
|
|
||||||
class NAZARA_API NzMaterial : public NzRefCounted, public NzResource
|
class NAZARA_API NzMaterial : public NzRefCounted, public NzResource
|
||||||
{
|
{
|
||||||
|
friend NzMaterialLibrary;
|
||||||
friend NzMaterialLoader;
|
friend NzMaterialLoader;
|
||||||
friend class NzGraphics;
|
friend class NzGraphics;
|
||||||
|
|
||||||
|
|
@ -172,8 +175,9 @@ class NAZARA_API NzMaterial : public NzRefCounted, public NzResource
|
||||||
float m_alphaThreshold;
|
float m_alphaThreshold;
|
||||||
float m_shininess;
|
float m_shininess;
|
||||||
|
|
||||||
static NzMaterialRef s_defaultMaterial;
|
static NzMaterialLibrary::LibraryMap s_library;
|
||||||
static NzMaterialLoader::LoaderList s_loaders;
|
static NzMaterialLoader::LoaderList s_loaders;
|
||||||
|
static NzMaterialRef s_defaultMaterial;
|
||||||
};
|
};
|
||||||
|
|
||||||
#include <Nazara/Graphics/Material.inl>
|
#include <Nazara/Graphics/Material.inl>
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@
|
||||||
#define NAZARA_PARTICLECONTROLLER_HPP
|
#define NAZARA_PARTICLECONTROLLER_HPP
|
||||||
|
|
||||||
#include <Nazara/Prerequesites.hpp>
|
#include <Nazara/Prerequesites.hpp>
|
||||||
|
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||||
#include <Nazara/Core/ObjectRef.hpp>
|
#include <Nazara/Core/ObjectRef.hpp>
|
||||||
#include <Nazara/Core/RefCounted.hpp>
|
#include <Nazara/Core/RefCounted.hpp>
|
||||||
|
|
@ -18,17 +19,27 @@ class NzParticleSystem;
|
||||||
|
|
||||||
using NzParticleControllerConstListener = NzObjectListenerWrapper<const NzParticleController>;
|
using NzParticleControllerConstListener = NzObjectListenerWrapper<const NzParticleController>;
|
||||||
using NzParticleControllerConstRef = NzObjectRef<const NzParticleController>;
|
using NzParticleControllerConstRef = NzObjectRef<const NzParticleController>;
|
||||||
|
using NzParticleControllerLibrary = NzObjectLibrary<NzParticleController>;
|
||||||
using NzParticleControllerListener = NzObjectListenerWrapper<NzParticleController>;
|
using NzParticleControllerListener = NzObjectListenerWrapper<NzParticleController>;
|
||||||
using NzParticleControllerRef = NzObjectRef<NzParticleController>;
|
using NzParticleControllerRef = NzObjectRef<NzParticleController>;
|
||||||
|
|
||||||
class NAZARA_API NzParticleController : public NzRefCounted
|
class NAZARA_API NzParticleController : public NzRefCounted
|
||||||
{
|
{
|
||||||
|
friend NzParticleControllerLibrary;
|
||||||
|
friend class NzGraphics;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
NzParticleController() = default;
|
NzParticleController() = default;
|
||||||
NzParticleController(const NzParticleController& controller);
|
NzParticleController(const NzParticleController& controller);
|
||||||
virtual ~NzParticleController();
|
virtual ~NzParticleController();
|
||||||
|
|
||||||
virtual void Apply(NzParticleSystem& system, NzParticleMapper& mapper, unsigned int startId, unsigned int endId, float elapsedTime) = 0;
|
virtual void Apply(NzParticleSystem& system, NzParticleMapper& mapper, unsigned int startId, unsigned int endId, float elapsedTime) = 0;
|
||||||
|
|
||||||
|
private:
|
||||||
|
static bool Initialize();
|
||||||
|
static void Uninitialize();
|
||||||
|
|
||||||
|
static NzParticleControllerLibrary::LibraryMap s_library;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // NAZARA_PARTICLECONTROLLER_HPP
|
#endif // NAZARA_PARTICLECONTROLLER_HPP
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@
|
||||||
#define NAZARA_PARTICLEDECLARATION_HPP
|
#define NAZARA_PARTICLEDECLARATION_HPP
|
||||||
|
|
||||||
#include <Nazara/Prerequesites.hpp>
|
#include <Nazara/Prerequesites.hpp>
|
||||||
|
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||||
#include <Nazara/Core/ObjectRef.hpp>
|
#include <Nazara/Core/ObjectRef.hpp>
|
||||||
#include <Nazara/Core/RefCounted.hpp>
|
#include <Nazara/Core/RefCounted.hpp>
|
||||||
|
|
@ -18,11 +19,13 @@ class NzParticleDeclaration;
|
||||||
|
|
||||||
using NzParticleDeclarationConstListener = NzObjectListenerWrapper<const NzParticleDeclaration>;
|
using NzParticleDeclarationConstListener = NzObjectListenerWrapper<const NzParticleDeclaration>;
|
||||||
using NzParticleDeclarationConstRef = NzObjectRef<const NzParticleDeclaration>;
|
using NzParticleDeclarationConstRef = NzObjectRef<const NzParticleDeclaration>;
|
||||||
|
using NzParticleDeclarationLibrary = NzObjectLibrary<NzParticleDeclaration>;
|
||||||
using NzParticleDeclarationListener = NzObjectListenerWrapper<NzParticleDeclaration>;
|
using NzParticleDeclarationListener = NzObjectListenerWrapper<NzParticleDeclaration>;
|
||||||
using NzParticleDeclarationRef = NzObjectRef<NzParticleDeclaration>;
|
using NzParticleDeclarationRef = NzObjectRef<NzParticleDeclaration>;
|
||||||
|
|
||||||
class NAZARA_API NzParticleDeclaration : public NzRefCounted
|
class NAZARA_API NzParticleDeclaration : public NzRefCounted
|
||||||
{
|
{
|
||||||
|
friend NzParticleDeclarationLibrary;
|
||||||
friend class NzGraphics;
|
friend class NzGraphics;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
@ -65,6 +68,7 @@ class NAZARA_API NzParticleDeclaration : public NzRefCounted
|
||||||
unsigned int m_stride;
|
unsigned int m_stride;
|
||||||
|
|
||||||
static NzParticleDeclaration s_declarations[nzParticleLayout_Max+1];
|
static NzParticleDeclaration s_declarations[nzParticleLayout_Max+1];
|
||||||
|
static NzParticleDeclarationLibrary::LibraryMap s_library;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // NAZARA_PARTICLEDECLARATION_HPP
|
#endif // NAZARA_PARTICLEDECLARATION_HPP
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@
|
||||||
#define NAZARA_PARTICLEGENERATOR_HPP
|
#define NAZARA_PARTICLEGENERATOR_HPP
|
||||||
|
|
||||||
#include <Nazara/Prerequesites.hpp>
|
#include <Nazara/Prerequesites.hpp>
|
||||||
|
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||||
#include <Nazara/Core/ObjectRef.hpp>
|
#include <Nazara/Core/ObjectRef.hpp>
|
||||||
#include <Nazara/Core/RefCounted.hpp>
|
#include <Nazara/Core/RefCounted.hpp>
|
||||||
|
|
@ -18,17 +19,27 @@ class NzParticleSystem;
|
||||||
|
|
||||||
using NzParticleGeneratorConstListener = NzObjectListenerWrapper<const NzParticleGenerator>;
|
using NzParticleGeneratorConstListener = NzObjectListenerWrapper<const NzParticleGenerator>;
|
||||||
using NzParticleGeneratorConstRef = NzObjectRef<const NzParticleGenerator>;
|
using NzParticleGeneratorConstRef = NzObjectRef<const NzParticleGenerator>;
|
||||||
|
using NzParticleGeneratorLibrary = NzObjectLibrary<NzParticleGenerator>;
|
||||||
using NzParticleGeneratorListener = NzObjectListenerWrapper<NzParticleGenerator>;
|
using NzParticleGeneratorListener = NzObjectListenerWrapper<NzParticleGenerator>;
|
||||||
using NzParticleGeneratorRef = NzObjectRef<NzParticleGenerator>;
|
using NzParticleGeneratorRef = NzObjectRef<NzParticleGenerator>;
|
||||||
|
|
||||||
class NAZARA_API NzParticleGenerator : public NzRefCounted
|
class NAZARA_API NzParticleGenerator : public NzRefCounted
|
||||||
{
|
{
|
||||||
|
friend NzParticleGeneratorLibrary;
|
||||||
|
friend class NzGraphics;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
NzParticleGenerator() = default;
|
NzParticleGenerator() = default;
|
||||||
NzParticleGenerator(const NzParticleGenerator& generator);
|
NzParticleGenerator(const NzParticleGenerator& generator);
|
||||||
virtual ~NzParticleGenerator();
|
virtual ~NzParticleGenerator();
|
||||||
|
|
||||||
virtual void Generate(NzParticleSystem& system, NzParticleMapper& mapper, unsigned int startId, unsigned int endId) = 0;
|
virtual void Generate(NzParticleSystem& system, NzParticleMapper& mapper, unsigned int startId, unsigned int endId) = 0;
|
||||||
|
|
||||||
|
private:
|
||||||
|
static bool Initialize();
|
||||||
|
static void Uninitialize();
|
||||||
|
|
||||||
|
static NzParticleGeneratorLibrary::LibraryMap s_library;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // NAZARA_PARTICLEGENERATOR_HPP
|
#endif // NAZARA_PARTICLEGENERATOR_HPP
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@
|
||||||
#define NAZARA_PARTICLERENDERER_HPP
|
#define NAZARA_PARTICLERENDERER_HPP
|
||||||
|
|
||||||
#include <Nazara/Prerequesites.hpp>
|
#include <Nazara/Prerequesites.hpp>
|
||||||
|
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||||
#include <Nazara/Core/ObjectRef.hpp>
|
#include <Nazara/Core/ObjectRef.hpp>
|
||||||
#include <Nazara/Core/RefCounted.hpp>
|
#include <Nazara/Core/RefCounted.hpp>
|
||||||
|
|
@ -19,17 +20,27 @@ class NzParticleSystem;
|
||||||
|
|
||||||
using NzParticleRendererConstListener = NzObjectListenerWrapper<const NzParticleRenderer>;
|
using NzParticleRendererConstListener = NzObjectListenerWrapper<const NzParticleRenderer>;
|
||||||
using NzParticleRendererConstRef = NzObjectRef<const NzParticleRenderer>;
|
using NzParticleRendererConstRef = NzObjectRef<const NzParticleRenderer>;
|
||||||
|
using NzParticleRendererLibrary = NzObjectLibrary<NzParticleRenderer>;
|
||||||
using NzParticleRendererListener = NzObjectListenerWrapper<NzParticleRenderer>;
|
using NzParticleRendererListener = NzObjectListenerWrapper<NzParticleRenderer>;
|
||||||
using NzParticleRendererRef = NzObjectRef<NzParticleRenderer>;
|
using NzParticleRendererRef = NzObjectRef<NzParticleRenderer>;
|
||||||
|
|
||||||
class NAZARA_API NzParticleRenderer : public NzRefCounted
|
class NAZARA_API NzParticleRenderer : public NzRefCounted
|
||||||
{
|
{
|
||||||
|
friend NzParticleRendererLibrary;
|
||||||
|
friend class NzGraphics;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
NzParticleRenderer() = default;
|
NzParticleRenderer() = default;
|
||||||
NzParticleRenderer(const NzParticleRenderer& renderer);
|
NzParticleRenderer(const NzParticleRenderer& renderer);
|
||||||
virtual ~NzParticleRenderer();
|
virtual ~NzParticleRenderer();
|
||||||
|
|
||||||
virtual void Render(const NzParticleSystem& system, const NzParticleMapper& mapper, unsigned int startId, unsigned int endId, NzAbstractRenderQueue* renderQueue) = 0;
|
virtual void Render(const NzParticleSystem& system, const NzParticleMapper& mapper, unsigned int startId, unsigned int endId, NzAbstractRenderQueue* renderQueue) = 0;
|
||||||
|
|
||||||
|
private:
|
||||||
|
static bool Initialize();
|
||||||
|
static void Uninitialize();
|
||||||
|
|
||||||
|
static NzParticleRendererLibrary::LibraryMap s_library;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // NAZARA_PARTICLERENDERER_HPP
|
#endif // NAZARA_PARTICLERENDERER_HPP
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@
|
||||||
#define NAZARA_CONTEXT_HPP
|
#define NAZARA_CONTEXT_HPP
|
||||||
|
|
||||||
#include <Nazara/Prerequesites.hpp>
|
#include <Nazara/Prerequesites.hpp>
|
||||||
|
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||||
#include <Nazara/Core/ObjectRef.hpp>
|
#include <Nazara/Core/ObjectRef.hpp>
|
||||||
#include <Nazara/Core/RefCounted.hpp>
|
#include <Nazara/Core/RefCounted.hpp>
|
||||||
|
|
@ -19,6 +20,7 @@ class NzContext;
|
||||||
|
|
||||||
using NzContextConstListener = NzObjectListenerWrapper<const NzContext>;
|
using NzContextConstListener = NzObjectListenerWrapper<const NzContext>;
|
||||||
using NzContextConstRef = NzObjectRef<const NzContext>;
|
using NzContextConstRef = NzObjectRef<const NzContext>;
|
||||||
|
using NzContextLibrary = NzObjectLibrary<NzContext>;
|
||||||
using NzContextListener = NzObjectListenerWrapper<NzContext>;
|
using NzContextListener = NzObjectListenerWrapper<NzContext>;
|
||||||
using NzContextRef = NzObjectRef<NzContext>;
|
using NzContextRef = NzObjectRef<NzContext>;
|
||||||
|
|
||||||
|
|
@ -27,6 +29,7 @@ class NzContextImpl;
|
||||||
class NAZARA_API NzContext : public NzRefCounted
|
class NAZARA_API NzContext : public NzRefCounted
|
||||||
{
|
{
|
||||||
friend NzContextImpl;
|
friend NzContextImpl;
|
||||||
|
friend NzContextLibrary;
|
||||||
friend class NzOpenGL;
|
friend class NzOpenGL;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
@ -55,6 +58,7 @@ class NAZARA_API NzContext : public NzRefCounted
|
||||||
|
|
||||||
static std::unique_ptr<NzContext> s_reference;
|
static std::unique_ptr<NzContext> s_reference;
|
||||||
static std::vector<std::unique_ptr<NzContext>> s_contexts;
|
static std::vector<std::unique_ptr<NzContext>> s_contexts;
|
||||||
|
static NzContextLibrary::LibraryMap s_library;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // NAZARA_CONTEXT_HPP
|
#endif // NAZARA_CONTEXT_HPP
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@
|
||||||
|
|
||||||
#include <Nazara/Prerequesites.hpp>
|
#include <Nazara/Prerequesites.hpp>
|
||||||
#include <Nazara/Core/NonCopyable.hpp>
|
#include <Nazara/Core/NonCopyable.hpp>
|
||||||
|
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||||
#include <Nazara/Core/ObjectRef.hpp>
|
#include <Nazara/Core/ObjectRef.hpp>
|
||||||
#include <Nazara/Core/RefCounted.hpp>
|
#include <Nazara/Core/RefCounted.hpp>
|
||||||
|
|
@ -18,11 +19,15 @@ class NzRenderBuffer;
|
||||||
|
|
||||||
using NzRenderBufferConstListener = NzObjectListenerWrapper<const NzRenderBuffer>;
|
using NzRenderBufferConstListener = NzObjectListenerWrapper<const NzRenderBuffer>;
|
||||||
using NzRenderBufferConstRef = NzObjectRef<const NzRenderBuffer>;
|
using NzRenderBufferConstRef = NzObjectRef<const NzRenderBuffer>;
|
||||||
|
using NzRenderBufferLibrary = NzObjectLibrary<NzRenderBuffer>;
|
||||||
using NzRenderBufferListener = NzObjectListenerWrapper<NzRenderBuffer>;
|
using NzRenderBufferListener = NzObjectListenerWrapper<NzRenderBuffer>;
|
||||||
using NzRenderBufferRef = NzObjectRef<NzRenderBuffer>;
|
using NzRenderBufferRef = NzObjectRef<NzRenderBuffer>;
|
||||||
|
|
||||||
class NAZARA_API NzRenderBuffer : public NzRefCounted, NzNonCopyable
|
class NAZARA_API NzRenderBuffer : public NzRefCounted, NzNonCopyable
|
||||||
{
|
{
|
||||||
|
friend NzRenderBufferLibrary;
|
||||||
|
friend class NzRenderer;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
NzRenderBuffer();
|
NzRenderBuffer();
|
||||||
~NzRenderBuffer();
|
~NzRenderBuffer();
|
||||||
|
|
@ -43,10 +48,15 @@ class NAZARA_API NzRenderBuffer : public NzRefCounted, NzNonCopyable
|
||||||
template<typename... Args> static NzRenderBufferRef New(Args&&... args);
|
template<typename... Args> static NzRenderBufferRef New(Args&&... args);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
static bool Initialize();
|
||||||
|
static void Uninitialize();
|
||||||
|
|
||||||
nzPixelFormat m_pixelFormat;
|
nzPixelFormat m_pixelFormat;
|
||||||
unsigned int m_height;
|
unsigned int m_height;
|
||||||
unsigned int m_id;
|
unsigned int m_id;
|
||||||
unsigned int m_width;
|
unsigned int m_width;
|
||||||
|
|
||||||
|
static NzRenderBufferLibrary::LibraryMap s_library;
|
||||||
};
|
};
|
||||||
|
|
||||||
#include <Nazara/Renderer/RenderBuffer.inl>
|
#include <Nazara/Renderer/RenderBuffer.inl>
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@
|
||||||
|
|
||||||
#include <Nazara/Prerequesites.hpp>
|
#include <Nazara/Prerequesites.hpp>
|
||||||
#include <Nazara/Core/NonCopyable.hpp>
|
#include <Nazara/Core/NonCopyable.hpp>
|
||||||
|
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||||
#include <Nazara/Core/ObjectRef.hpp>
|
#include <Nazara/Core/ObjectRef.hpp>
|
||||||
#include <Nazara/Core/RefCounted.hpp>
|
#include <Nazara/Core/RefCounted.hpp>
|
||||||
|
|
@ -22,6 +23,7 @@ class NzTexture;
|
||||||
|
|
||||||
using NzTextureConstListener = NzObjectListenerWrapper<const NzTexture>;
|
using NzTextureConstListener = NzObjectListenerWrapper<const NzTexture>;
|
||||||
using NzTextureConstRef = NzObjectRef<const NzTexture>;
|
using NzTextureConstRef = NzObjectRef<const NzTexture>;
|
||||||
|
using NzTextureLibrary = NzObjectLibrary<NzTexture>;
|
||||||
using NzTextureListener = NzObjectListenerWrapper<NzTexture>;
|
using NzTextureListener = NzObjectListenerWrapper<NzTexture>;
|
||||||
using NzTextureRef = NzObjectRef<NzTexture>;
|
using NzTextureRef = NzObjectRef<NzTexture>;
|
||||||
|
|
||||||
|
|
@ -29,6 +31,7 @@ struct NzTextureImpl;
|
||||||
|
|
||||||
class NAZARA_API NzTexture : public NzAbstractImage, public NzRefCounted, public NzResource, NzNonCopyable
|
class NAZARA_API NzTexture : public NzAbstractImage, public NzRefCounted, public NzResource, NzNonCopyable
|
||||||
{
|
{
|
||||||
|
friend NzTextureLibrary;
|
||||||
friend class NzRenderer;
|
friend class NzRenderer;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
@ -106,7 +109,12 @@ class NAZARA_API NzTexture : public NzAbstractImage, public NzRefCounted, public
|
||||||
private:
|
private:
|
||||||
bool CreateTexture(bool proxy);
|
bool CreateTexture(bool proxy);
|
||||||
|
|
||||||
|
static bool Initialize();
|
||||||
|
static void Uninitialize();
|
||||||
|
|
||||||
NzTextureImpl* m_impl = nullptr;
|
NzTextureImpl* m_impl = nullptr;
|
||||||
|
|
||||||
|
static NzTextureLibrary::LibraryMap s_library;
|
||||||
};
|
};
|
||||||
|
|
||||||
#include <Nazara/Renderer/Texture.inl>
|
#include <Nazara/Renderer/Texture.inl>
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@
|
||||||
#define NAZARA_ANIMATION_HPP
|
#define NAZARA_ANIMATION_HPP
|
||||||
|
|
||||||
#include <Nazara/Prerequesites.hpp>
|
#include <Nazara/Prerequesites.hpp>
|
||||||
|
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||||
#include <Nazara/Core/ObjectRef.hpp>
|
#include <Nazara/Core/ObjectRef.hpp>
|
||||||
#include <Nazara/Core/RefCounted.hpp>
|
#include <Nazara/Core/RefCounted.hpp>
|
||||||
|
|
@ -33,6 +34,7 @@ class NzSkeleton;
|
||||||
|
|
||||||
using NzAnimationConstListener = NzObjectListenerWrapper<const NzAnimation>;
|
using NzAnimationConstListener = NzObjectListenerWrapper<const NzAnimation>;
|
||||||
using NzAnimationConstRef = NzObjectRef<const NzAnimation>;
|
using NzAnimationConstRef = NzObjectRef<const NzAnimation>;
|
||||||
|
using NzAnimationLibrary = NzObjectLibrary<NzAnimation>;
|
||||||
using NzAnimationListener = NzObjectListenerWrapper<NzAnimation>;
|
using NzAnimationListener = NzObjectListenerWrapper<NzAnimation>;
|
||||||
using NzAnimationLoader = NzResourceLoader<NzAnimation, NzAnimationParams>;
|
using NzAnimationLoader = NzResourceLoader<NzAnimation, NzAnimationParams>;
|
||||||
using NzAnimationRef = NzObjectRef<NzAnimation>;
|
using NzAnimationRef = NzObjectRef<NzAnimation>;
|
||||||
|
|
@ -41,7 +43,9 @@ struct NzAnimationImpl;
|
||||||
|
|
||||||
class NAZARA_API NzAnimation : public NzRefCounted, public NzResource
|
class NAZARA_API NzAnimation : public NzRefCounted, public NzResource
|
||||||
{
|
{
|
||||||
|
friend NzAnimationLibrary;
|
||||||
friend NzAnimationLoader;
|
friend NzAnimationLoader;
|
||||||
|
friend class NzUtility;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
NzAnimation() = default;
|
NzAnimation() = default;
|
||||||
|
|
@ -83,8 +87,12 @@ class NAZARA_API NzAnimation : public NzRefCounted, public NzResource
|
||||||
template<typename... Args> static NzAnimationRef New(Args&&... args);
|
template<typename... Args> static NzAnimationRef New(Args&&... args);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
static bool Initialize();
|
||||||
|
static void Uninitialize();
|
||||||
|
|
||||||
NzAnimationImpl* m_impl = nullptr;
|
NzAnimationImpl* m_impl = nullptr;
|
||||||
|
|
||||||
|
static NzAnimationLibrary::LibraryMap s_library;
|
||||||
static NzAnimationLoader::LoaderList s_loaders;
|
static NzAnimationLoader::LoaderList s_loaders;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@
|
||||||
|
|
||||||
#include <Nazara/Prerequesites.hpp>
|
#include <Nazara/Prerequesites.hpp>
|
||||||
#include <Nazara/Core/NonCopyable.hpp>
|
#include <Nazara/Core/NonCopyable.hpp>
|
||||||
|
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||||
#include <Nazara/Core/ObjectRef.hpp>
|
#include <Nazara/Core/ObjectRef.hpp>
|
||||||
#include <Nazara/Core/Resource.hpp>
|
#include <Nazara/Core/Resource.hpp>
|
||||||
|
|
@ -29,13 +30,16 @@ struct NzFontGlyph;
|
||||||
|
|
||||||
using NzFontConstListener = NzObjectListenerWrapper<const NzFont>;
|
using NzFontConstListener = NzObjectListenerWrapper<const NzFont>;
|
||||||
using NzFontConstRef = NzObjectRef<const NzFont>;
|
using NzFontConstRef = NzObjectRef<const NzFont>;
|
||||||
|
using NzFontLibrary = NzObjectLibrary<NzFont>;
|
||||||
using NzFontListener = NzObjectListenerWrapper<NzFont>;
|
using NzFontListener = NzObjectListenerWrapper<NzFont>;
|
||||||
using NzFontLoader = NzResourceLoader<NzFont, NzFontParams>;
|
using NzFontLoader = NzResourceLoader<NzFont, NzFontParams>;
|
||||||
using NzFontRef = NzObjectRef<NzFont>;
|
using NzFontRef = NzObjectRef<NzFont>;
|
||||||
|
|
||||||
class NAZARA_API NzFont : public NzRefCounted, public NzResource, NzAbstractAtlas::Listener, NzNonCopyable
|
class NAZARA_API NzFont : public NzRefCounted, public NzResource, NzAbstractAtlas::Listener, NzNonCopyable
|
||||||
{
|
{
|
||||||
|
friend NzFontLibrary;
|
||||||
friend NzFontLoader;
|
friend NzFontLoader;
|
||||||
|
friend class NzUtility;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
struct Glyph;
|
struct Glyph;
|
||||||
|
|
@ -83,16 +87,12 @@ class NAZARA_API NzFont : public NzRefCounted, public NzResource, NzAbstractAtla
|
||||||
static unsigned int GetDefaultGlyphBorder();
|
static unsigned int GetDefaultGlyphBorder();
|
||||||
static unsigned int GetDefaultMinimumStepSize();
|
static unsigned int GetDefaultMinimumStepSize();
|
||||||
|
|
||||||
static bool Initialize();
|
|
||||||
|
|
||||||
template<typename... Args> static NzFontRef New(Args&&... args);
|
template<typename... Args> static NzFontRef New(Args&&... args);
|
||||||
|
|
||||||
static void SetDefaultAtlas(const std::shared_ptr<NzAbstractAtlas>& atlas);
|
static void SetDefaultAtlas(const std::shared_ptr<NzAbstractAtlas>& atlas);
|
||||||
static void SetDefaultGlyphBorder(unsigned int borderSize);
|
static void SetDefaultGlyphBorder(unsigned int borderSize);
|
||||||
static void SetDefaultMinimumStepSize(unsigned int minimumStepSize);
|
static void SetDefaultMinimumStepSize(unsigned int minimumStepSize);
|
||||||
|
|
||||||
static void Uninitialize();
|
|
||||||
|
|
||||||
enum ModicationCode
|
enum ModicationCode
|
||||||
{
|
{
|
||||||
ModificationCode_AtlasChanged,
|
ModificationCode_AtlasChanged,
|
||||||
|
|
@ -131,6 +131,9 @@ class NAZARA_API NzFont : public NzRefCounted, public NzResource, NzAbstractAtla
|
||||||
void OnAtlasReleased(const NzAbstractAtlas* atlas, void* userdata) override;
|
void OnAtlasReleased(const NzAbstractAtlas* atlas, void* userdata) override;
|
||||||
const Glyph& PrecacheGlyph(GlyphMap& glyphMap, unsigned int characterSize, nzUInt32 style, char32_t character) const;
|
const Glyph& PrecacheGlyph(GlyphMap& glyphMap, unsigned int characterSize, nzUInt32 style, char32_t character) const;
|
||||||
|
|
||||||
|
static bool Initialize();
|
||||||
|
static void Uninitialize();
|
||||||
|
|
||||||
std::shared_ptr<NzAbstractAtlas> m_atlas;
|
std::shared_ptr<NzAbstractAtlas> m_atlas;
|
||||||
std::unique_ptr<NzFontData> m_data;
|
std::unique_ptr<NzFontData> m_data;
|
||||||
mutable std::unordered_map<nzUInt64, std::unordered_map<nzUInt64, int>> m_kerningCache;
|
mutable std::unordered_map<nzUInt64, std::unordered_map<nzUInt64, int>> m_kerningCache;
|
||||||
|
|
@ -141,6 +144,7 @@ class NAZARA_API NzFont : public NzRefCounted, public NzResource, NzAbstractAtla
|
||||||
|
|
||||||
static std::shared_ptr<NzAbstractAtlas> s_defaultAtlas;
|
static std::shared_ptr<NzAbstractAtlas> s_defaultAtlas;
|
||||||
static NzFontRef s_defaultFont;
|
static NzFontRef s_defaultFont;
|
||||||
|
static NzFontLibrary::LibraryMap s_library;
|
||||||
static NzFontLoader::LoaderList s_loaders;
|
static NzFontLoader::LoaderList s_loaders;
|
||||||
static unsigned int s_defaultGlyphBorder;
|
static unsigned int s_defaultGlyphBorder;
|
||||||
static unsigned int s_defaultMinimumStepSize;
|
static unsigned int s_defaultMinimumStepSize;
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@
|
||||||
#include <Nazara/Prerequesites.hpp>
|
#include <Nazara/Prerequesites.hpp>
|
||||||
#include <Nazara/Core/Color.hpp>
|
#include <Nazara/Core/Color.hpp>
|
||||||
#include <Nazara/Core/InputStream.hpp>
|
#include <Nazara/Core/InputStream.hpp>
|
||||||
|
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||||
#include <Nazara/Core/ObjectRef.hpp>
|
#include <Nazara/Core/ObjectRef.hpp>
|
||||||
#include <Nazara/Core/RefCounted.hpp>
|
#include <Nazara/Core/RefCounted.hpp>
|
||||||
|
|
@ -36,13 +37,16 @@ class NzImage;
|
||||||
|
|
||||||
using NzImageConstListener = NzObjectListenerWrapper<const NzImage>;
|
using NzImageConstListener = NzObjectListenerWrapper<const NzImage>;
|
||||||
using NzImageConstRef = NzObjectRef<const NzImage>;
|
using NzImageConstRef = NzObjectRef<const NzImage>;
|
||||||
|
using NzImageLibrary = NzObjectLibrary<NzImage>;
|
||||||
using NzImageListener = NzObjectListenerWrapper<NzImage>;
|
using NzImageListener = NzObjectListenerWrapper<NzImage>;
|
||||||
using NzImageLoader = NzResourceLoader<NzImage, NzImageParams>;
|
using NzImageLoader = NzResourceLoader<NzImage, NzImageParams>;
|
||||||
using NzImageRef = NzObjectRef<NzImage>;
|
using NzImageRef = NzObjectRef<NzImage>;
|
||||||
|
|
||||||
class NAZARA_API NzImage : public NzAbstractImage, public NzRefCounted, public NzResource
|
class NAZARA_API NzImage : public NzAbstractImage, public NzRefCounted, public NzResource
|
||||||
{
|
{
|
||||||
|
friend NzImageLibrary;
|
||||||
friend NzImageLoader;
|
friend NzImageLoader;
|
||||||
|
friend class NzUtility;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
struct SharedImage;
|
struct SharedImage;
|
||||||
|
|
@ -145,8 +149,12 @@ class NAZARA_API NzImage : public NzAbstractImage, public NzRefCounted, public N
|
||||||
void EnsureOwnership();
|
void EnsureOwnership();
|
||||||
void ReleaseImage();
|
void ReleaseImage();
|
||||||
|
|
||||||
|
static bool Initialize();
|
||||||
|
static void Uninitialize();
|
||||||
|
|
||||||
SharedImage* m_sharedImage;
|
SharedImage* m_sharedImage;
|
||||||
|
|
||||||
|
static NzImageLibrary::LibraryMap s_library;
|
||||||
static NzImageLoader::LoaderList s_loaders;
|
static NzImageLoader::LoaderList s_loaders;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@
|
||||||
|
|
||||||
#include <Nazara/Prerequesites.hpp>
|
#include <Nazara/Prerequesites.hpp>
|
||||||
#include <Nazara/Core/InputStream.hpp>
|
#include <Nazara/Core/InputStream.hpp>
|
||||||
|
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||||
#include <Nazara/Core/ObjectRef.hpp>
|
#include <Nazara/Core/ObjectRef.hpp>
|
||||||
#include <Nazara/Core/Primitive.hpp>
|
#include <Nazara/Core/Primitive.hpp>
|
||||||
|
|
@ -55,6 +56,7 @@ typedef NzVertexStruct_XYZ_Normal_UV_Tangent_Skinning NzSkeletalMeshVertex;
|
||||||
|
|
||||||
using NzMeshConstListener = NzObjectListenerWrapper<const NzMesh>;
|
using NzMeshConstListener = NzObjectListenerWrapper<const NzMesh>;
|
||||||
using NzMeshConstRef = NzObjectRef<const NzMesh>;
|
using NzMeshConstRef = NzObjectRef<const NzMesh>;
|
||||||
|
using NzMeshLibrary = NzObjectLibrary<NzMesh>;
|
||||||
using NzMeshListener = NzObjectListenerWrapper<NzMesh>;
|
using NzMeshListener = NzObjectListenerWrapper<NzMesh>;
|
||||||
using NzMeshLoader = NzResourceLoader<NzMesh, NzMeshParams>;
|
using NzMeshLoader = NzResourceLoader<NzMesh, NzMeshParams>;
|
||||||
using NzMeshRef = NzObjectRef<NzMesh>;
|
using NzMeshRef = NzObjectRef<NzMesh>;
|
||||||
|
|
@ -63,7 +65,9 @@ struct NzMeshImpl;
|
||||||
|
|
||||||
class NAZARA_API NzMesh : public NzRefCounted, public NzResource
|
class NAZARA_API NzMesh : public NzRefCounted, public NzResource
|
||||||
{
|
{
|
||||||
|
friend NzMeshLibrary;
|
||||||
friend NzMeshLoader;
|
friend NzMeshLoader;
|
||||||
|
friend class NzUtility;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
NzMesh() = default;
|
NzMesh() = default;
|
||||||
|
|
@ -128,6 +132,10 @@ class NAZARA_API NzMesh : public NzRefCounted, public NzResource
|
||||||
private:
|
private:
|
||||||
NzMeshImpl* m_impl = nullptr;
|
NzMeshImpl* m_impl = nullptr;
|
||||||
|
|
||||||
|
static bool Initialize();
|
||||||
|
static void Uninitialize();
|
||||||
|
|
||||||
|
static NzMeshLibrary::LibraryMap s_library;
|
||||||
static NzMeshLoader::LoaderList s_loaders;
|
static NzMeshLoader::LoaderList s_loaders;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@
|
||||||
#define NAZARA_SKELETON_HPP
|
#define NAZARA_SKELETON_HPP
|
||||||
|
|
||||||
#include <Nazara/Prerequesites.hpp>
|
#include <Nazara/Prerequesites.hpp>
|
||||||
|
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||||
#include <Nazara/Core/ObjectRef.hpp>
|
#include <Nazara/Core/ObjectRef.hpp>
|
||||||
#include <Nazara/Core/RefCounted.hpp>
|
#include <Nazara/Core/RefCounted.hpp>
|
||||||
|
|
@ -19,6 +20,7 @@ class NzSkeleton;
|
||||||
|
|
||||||
using NzSkeletonConstListener = NzObjectListenerWrapper<const NzSkeleton>;
|
using NzSkeletonConstListener = NzObjectListenerWrapper<const NzSkeleton>;
|
||||||
using NzSkeletonConstRef = NzObjectRef<const NzSkeleton>;
|
using NzSkeletonConstRef = NzObjectRef<const NzSkeleton>;
|
||||||
|
using NzSkeletonLibrary = NzObjectLibrary<NzSkeleton>;
|
||||||
using NzSkeletonListener = NzObjectListenerWrapper<NzSkeleton>;
|
using NzSkeletonListener = NzObjectListenerWrapper<NzSkeleton>;
|
||||||
using NzSkeletonRef = NzObjectRef<NzSkeleton>;
|
using NzSkeletonRef = NzObjectRef<NzSkeleton>;
|
||||||
|
|
||||||
|
|
@ -27,6 +29,8 @@ struct NzSkeletonImpl;
|
||||||
class NAZARA_API NzSkeleton : public NzRefCounted
|
class NAZARA_API NzSkeleton : public NzRefCounted
|
||||||
{
|
{
|
||||||
friend NzJoint;
|
friend NzJoint;
|
||||||
|
friend NzSkeletonLibrary;
|
||||||
|
friend class NzUtility;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
NzSkeleton() = default;
|
NzSkeleton() = default;
|
||||||
|
|
@ -60,7 +64,12 @@ class NAZARA_API NzSkeleton : public NzRefCounted
|
||||||
void InvalidateJointMap();
|
void InvalidateJointMap();
|
||||||
void UpdateJointMap() const;
|
void UpdateJointMap() const;
|
||||||
|
|
||||||
|
static bool Initialize();
|
||||||
|
static void Uninitialize();
|
||||||
|
|
||||||
NzSkeletonImpl* m_impl = nullptr;
|
NzSkeletonImpl* m_impl = nullptr;
|
||||||
|
|
||||||
|
static NzSkeletonLibrary::LibraryMap s_library;
|
||||||
};
|
};
|
||||||
|
|
||||||
#include <Nazara/Utility/Skeleton.inl>
|
#include <Nazara/Utility/Skeleton.inl>
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@
|
||||||
#define NAZARA_VERTEXDECLARATION_HPP
|
#define NAZARA_VERTEXDECLARATION_HPP
|
||||||
|
|
||||||
#include <Nazara/Prerequesites.hpp>
|
#include <Nazara/Prerequesites.hpp>
|
||||||
|
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||||
#include <Nazara/Core/ObjectRef.hpp>
|
#include <Nazara/Core/ObjectRef.hpp>
|
||||||
#include <Nazara/Core/RefCounted.hpp>
|
#include <Nazara/Core/RefCounted.hpp>
|
||||||
|
|
@ -17,11 +18,13 @@ class NzVertexDeclaration;
|
||||||
|
|
||||||
using NzVertexDeclarationConstListener = NzObjectListenerWrapper<const NzVertexDeclaration>;
|
using NzVertexDeclarationConstListener = NzObjectListenerWrapper<const NzVertexDeclaration>;
|
||||||
using NzVertexDeclarationConstRef = NzObjectRef<const NzVertexDeclaration>;
|
using NzVertexDeclarationConstRef = NzObjectRef<const NzVertexDeclaration>;
|
||||||
|
using NzVertexDeclarationLibrary = NzObjectLibrary<NzVertexDeclaration>;
|
||||||
using NzVertexDeclarationListener = NzObjectListenerWrapper<NzVertexDeclaration>;
|
using NzVertexDeclarationListener = NzObjectListenerWrapper<NzVertexDeclaration>;
|
||||||
using NzVertexDeclarationRef = NzObjectRef<NzVertexDeclaration>;
|
using NzVertexDeclarationRef = NzObjectRef<NzVertexDeclaration>;
|
||||||
|
|
||||||
class NAZARA_API NzVertexDeclaration : public NzRefCounted
|
class NAZARA_API NzVertexDeclaration : public NzRefCounted
|
||||||
{
|
{
|
||||||
|
friend NzVertexDeclarationLibrary;
|
||||||
friend class NzUtility;
|
friend class NzUtility;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
@ -66,6 +69,7 @@ class NAZARA_API NzVertexDeclaration : public NzRefCounted
|
||||||
unsigned int m_stride;
|
unsigned int m_stride;
|
||||||
|
|
||||||
static NzVertexDeclaration s_declarations[nzVertexLayout_Max+1];
|
static NzVertexDeclaration s_declarations[nzVertexLayout_Max+1];
|
||||||
|
static NzVertexDeclarationLibrary::LibraryMap s_library;
|
||||||
};
|
};
|
||||||
|
|
||||||
#include <Nazara/Utility/VertexDeclaration.hpp>
|
#include <Nazara/Utility/VertexDeclaration.hpp>
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@
|
||||||
#include <Nazara/Audio/Config.hpp>
|
#include <Nazara/Audio/Config.hpp>
|
||||||
#include <Nazara/Audio/Enums.hpp>
|
#include <Nazara/Audio/Enums.hpp>
|
||||||
#include <Nazara/Audio/OpenAL.hpp>
|
#include <Nazara/Audio/OpenAL.hpp>
|
||||||
|
#include <Nazara/Audio/SoundBuffer.hpp>
|
||||||
#include <Nazara/Audio/Loaders/sndfile.hpp>
|
#include <Nazara/Audio/Loaders/sndfile.hpp>
|
||||||
#include <Nazara/Core/CallOnExit.hpp>
|
#include <Nazara/Core/CallOnExit.hpp>
|
||||||
#include <Nazara/Core/Core.hpp>
|
#include <Nazara/Core/Core.hpp>
|
||||||
|
|
@ -103,13 +104,19 @@ bool NzAudio::Initialize()
|
||||||
// Initialisation du module
|
// Initialisation du module
|
||||||
NzCallOnExit onExit(NzAudio::Uninitialize);
|
NzCallOnExit onExit(NzAudio::Uninitialize);
|
||||||
|
|
||||||
// Initialisation d'OpenGL
|
// Initialisation d'OpenAL
|
||||||
if (!NzOpenAL::Initialize())
|
if (!NzOpenAL::Initialize())
|
||||||
{
|
{
|
||||||
NazaraError("Failed to initialize OpenAL");
|
NazaraError("Failed to initialize OpenAL");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!NzSoundBuffer::Initialize())
|
||||||
|
{
|
||||||
|
NazaraError("Failed to initialize sound buffers");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// Définition de l'orientation par défaut
|
// Définition de l'orientation par défaut
|
||||||
SetListenerDirection(NzVector3f::Forward());
|
SetListenerDirection(NzVector3f::Forward());
|
||||||
|
|
||||||
|
|
@ -227,6 +234,7 @@ void NzAudio::Uninitialize()
|
||||||
// Loaders
|
// Loaders
|
||||||
NzLoaders_sndfile_Unregister();
|
NzLoaders_sndfile_Unregister();
|
||||||
|
|
||||||
|
NzSoundBuffer::Uninitialize();
|
||||||
NzOpenAL::Uninitialize();
|
NzOpenAL::Uninitialize();
|
||||||
|
|
||||||
NazaraNotice("Uninitialized: Audio module");
|
NazaraNotice("Uninitialized: Audio module");
|
||||||
|
|
|
||||||
|
|
@ -226,4 +226,21 @@ unsigned int NzSoundBuffer::GetOpenALBuffer() const
|
||||||
return m_impl->buffer;
|
return m_impl->buffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool NzSoundBuffer::Initialize()
|
||||||
|
{
|
||||||
|
if (!NzSoundBufferLibrary::Initialize())
|
||||||
|
{
|
||||||
|
NazaraError("Failed to initialise library");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void NzSoundBuffer::Uninitialize()
|
||||||
|
{
|
||||||
|
NzSoundBufferLibrary::Uninitialize();
|
||||||
|
}
|
||||||
|
|
||||||
|
NzSoundBufferLibrary::LibraryMap NzSoundBuffer::s_library;
|
||||||
NzSoundBufferLoader::LoaderList NzSoundBuffer::s_loaders;
|
NzSoundBufferLoader::LoaderList NzSoundBuffer::s_loaders;
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,10 @@
|
||||||
#include <Nazara/Graphics/ForwardRenderTechnique.hpp>
|
#include <Nazara/Graphics/ForwardRenderTechnique.hpp>
|
||||||
#include <Nazara/Graphics/GuillotineTextureAtlas.hpp>
|
#include <Nazara/Graphics/GuillotineTextureAtlas.hpp>
|
||||||
#include <Nazara/Graphics/Material.hpp>
|
#include <Nazara/Graphics/Material.hpp>
|
||||||
|
#include <Nazara/Graphics/ParticleController.hpp>
|
||||||
#include <Nazara/Graphics/ParticleDeclaration.hpp>
|
#include <Nazara/Graphics/ParticleDeclaration.hpp>
|
||||||
|
#include <Nazara/Graphics/ParticleGenerator.hpp>
|
||||||
|
#include <Nazara/Graphics/ParticleRenderer.hpp>
|
||||||
#include <Nazara/Graphics/RenderTechniques.hpp>
|
#include <Nazara/Graphics/RenderTechniques.hpp>
|
||||||
#include <Nazara/Graphics/SkinningManager.hpp>
|
#include <Nazara/Graphics/SkinningManager.hpp>
|
||||||
#include <Nazara/Graphics/Loaders/Mesh.hpp>
|
#include <Nazara/Graphics/Loaders/Mesh.hpp>
|
||||||
|
|
@ -47,12 +50,30 @@ bool NzGraphics::Initialize()
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!NzParticleController::Initialize())
|
||||||
|
{
|
||||||
|
NazaraError("Failed to initialize particle controllers");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (!NzParticleDeclaration::Initialize())
|
if (!NzParticleDeclaration::Initialize())
|
||||||
{
|
{
|
||||||
NazaraError("Failed to initialize particle declarations");
|
NazaraError("Failed to initialize particle declarations");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!NzParticleGenerator::Initialize())
|
||||||
|
{
|
||||||
|
NazaraError("Failed to initialize particle generators");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!NzParticleRenderer::Initialize())
|
||||||
|
{
|
||||||
|
NazaraError("Failed to initialize particle renderers");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (!NzSkinningManager::Initialize())
|
if (!NzSkinningManager::Initialize())
|
||||||
{
|
{
|
||||||
NazaraError("Failed to initialize skinning manager");
|
NazaraError("Failed to initialize skinning manager");
|
||||||
|
|
@ -144,9 +165,12 @@ void NzGraphics::Uninitialize()
|
||||||
|
|
||||||
NzDeferredRenderTechnique::Uninitialize();
|
NzDeferredRenderTechnique::Uninitialize();
|
||||||
NzForwardRenderTechnique::Uninitialize();
|
NzForwardRenderTechnique::Uninitialize();
|
||||||
NzMaterial::Uninitialize();
|
|
||||||
NzParticleDeclaration::Uninitialize();
|
|
||||||
NzSkinningManager::Uninitialize();
|
NzSkinningManager::Uninitialize();
|
||||||
|
NzParticleRenderer::Uninitialize();
|
||||||
|
NzParticleGenerator::Uninitialize();
|
||||||
|
NzParticleDeclaration::Uninitialize();
|
||||||
|
NzParticleController::Uninitialize();
|
||||||
|
NzMaterial::Uninitialize();
|
||||||
|
|
||||||
NazaraNotice("Uninitialized: Graphics module");
|
NazaraNotice("Uninitialized: Graphics module");
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -705,6 +705,17 @@ void NzMaterial::InvalidateShaders()
|
||||||
|
|
||||||
bool NzMaterial::Initialize()
|
bool NzMaterial::Initialize()
|
||||||
{
|
{
|
||||||
|
if (!NzMaterialLibrary::Initialize())
|
||||||
|
{
|
||||||
|
NazaraError("Failed to initialise library");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
s_defaultMaterial = NzMaterial::New();
|
||||||
|
s_defaultMaterial->Enable(nzRendererParameter_FaceCulling, false);
|
||||||
|
s_defaultMaterial->SetFaceFilling(nzFaceFilling_Line);
|
||||||
|
NzMaterialLibrary::Register("Default", s_defaultMaterial);
|
||||||
|
|
||||||
bool glsl140 = (NzOpenGL::GetGLSLVersion() >= 140);
|
bool glsl140 = (NzOpenGL::GetGLSLVersion() >= 140);
|
||||||
|
|
||||||
// Basic shader
|
// Basic shader
|
||||||
|
|
@ -769,10 +780,6 @@ bool NzMaterial::Initialize()
|
||||||
NzUberShaderLibrary::Register("PhongLighting", uberShader);
|
NzUberShaderLibrary::Register("PhongLighting", uberShader);
|
||||||
}
|
}
|
||||||
|
|
||||||
s_defaultMaterial = NzMaterial::New();
|
|
||||||
s_defaultMaterial->Enable(nzRendererParameter_FaceCulling, false);
|
|
||||||
s_defaultMaterial->SetFaceFilling(nzFaceFilling_Line);
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -781,7 +788,9 @@ void NzMaterial::Uninitialize()
|
||||||
s_defaultMaterial.Reset();
|
s_defaultMaterial.Reset();
|
||||||
NzUberShaderLibrary::Unregister("PhongLighting");
|
NzUberShaderLibrary::Unregister("PhongLighting");
|
||||||
NzUberShaderLibrary::Unregister("Basic");
|
NzUberShaderLibrary::Unregister("Basic");
|
||||||
|
NzMaterialLibrary::Uninitialize();
|
||||||
}
|
}
|
||||||
|
|
||||||
NzMaterialRef NzMaterial::s_defaultMaterial = nullptr;
|
NzMaterialLibrary::LibraryMap NzMaterial::s_library;
|
||||||
NzMaterialLoader::LoaderList NzMaterial::s_loaders;
|
NzMaterialLoader::LoaderList NzMaterial::s_loaders;
|
||||||
|
NzMaterialRef NzMaterial::s_defaultMaterial = nullptr;
|
||||||
|
|
|
||||||
|
|
@ -12,3 +12,21 @@ NzRefCounted()
|
||||||
}
|
}
|
||||||
|
|
||||||
NzParticleController::~NzParticleController() = default;
|
NzParticleController::~NzParticleController() = default;
|
||||||
|
|
||||||
|
bool NzParticleController::Initialize()
|
||||||
|
{
|
||||||
|
if (!NzParticleControllerLibrary::Initialize())
|
||||||
|
{
|
||||||
|
NazaraError("Failed to initialise library");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void NzParticleController::Uninitialize()
|
||||||
|
{
|
||||||
|
NzParticleControllerLibrary::Uninitialize();
|
||||||
|
}
|
||||||
|
|
||||||
|
NzParticleControllerLibrary::LibraryMap NzParticleController::s_library;
|
||||||
|
|
|
||||||
|
|
@ -177,6 +177,12 @@ bool NzParticleDeclaration::IsTypeSupported(nzComponentType type)
|
||||||
|
|
||||||
bool NzParticleDeclaration::Initialize()
|
bool NzParticleDeclaration::Initialize()
|
||||||
{
|
{
|
||||||
|
if (!NzParticleDeclarationLibrary::Initialize())
|
||||||
|
{
|
||||||
|
NazaraError("Failed to initialise library");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
NzErrorFlags flags(nzErrorFlag_Silent | nzErrorFlag_ThrowException);
|
NzErrorFlags flags(nzErrorFlag_Silent | nzErrorFlag_ThrowException);
|
||||||
|
|
@ -225,7 +231,8 @@ bool NzParticleDeclaration::Initialize()
|
||||||
|
|
||||||
void NzParticleDeclaration::Uninitialize()
|
void NzParticleDeclaration::Uninitialize()
|
||||||
{
|
{
|
||||||
// Rien à faire
|
NzParticleDeclarationLibrary::Uninitialize();
|
||||||
}
|
}
|
||||||
|
|
||||||
NzParticleDeclaration NzParticleDeclaration::s_declarations[nzParticleLayout_Max+1];
|
NzParticleDeclaration NzParticleDeclaration::s_declarations[nzParticleLayout_Max+1];
|
||||||
|
NzParticleDeclarationLibrary::LibraryMap NzParticleDeclaration::s_library;
|
||||||
|
|
|
||||||
|
|
@ -12,3 +12,21 @@ NzRefCounted()
|
||||||
}
|
}
|
||||||
|
|
||||||
NzParticleGenerator::~NzParticleGenerator() = default;
|
NzParticleGenerator::~NzParticleGenerator() = default;
|
||||||
|
|
||||||
|
bool NzParticleGenerator::Initialize()
|
||||||
|
{
|
||||||
|
if (!NzParticleGeneratorLibrary::Initialize())
|
||||||
|
{
|
||||||
|
NazaraError("Failed to initialise library");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void NzParticleGenerator::Uninitialize()
|
||||||
|
{
|
||||||
|
NzParticleGeneratorLibrary::Uninitialize();
|
||||||
|
}
|
||||||
|
|
||||||
|
NzParticleGeneratorLibrary::LibraryMap NzParticleGenerator::s_library;
|
||||||
|
|
|
||||||
|
|
@ -12,3 +12,21 @@ NzRefCounted()
|
||||||
}
|
}
|
||||||
|
|
||||||
NzParticleRenderer::~NzParticleRenderer() = default;
|
NzParticleRenderer::~NzParticleRenderer() = default;
|
||||||
|
|
||||||
|
bool NzParticleRenderer::Initialize()
|
||||||
|
{
|
||||||
|
if (!NzParticleRendererLibrary::Initialize())
|
||||||
|
{
|
||||||
|
NazaraError("Failed to initialise library");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void NzParticleRenderer::Uninitialize()
|
||||||
|
{
|
||||||
|
NzParticleRendererLibrary::Uninitialize();
|
||||||
|
}
|
||||||
|
|
||||||
|
NzParticleRendererLibrary::LibraryMap NzParticleRenderer::s_library;
|
||||||
|
|
|
||||||
|
|
@ -317,6 +317,12 @@ const NzContext* NzContext::GetThreadContext()
|
||||||
|
|
||||||
bool NzContext::Initialize()
|
bool NzContext::Initialize()
|
||||||
{
|
{
|
||||||
|
if (!NzContextLibrary::Initialize())
|
||||||
|
{
|
||||||
|
NazaraError("Failed to initialise library");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
NzContextParameters parameters;
|
NzContextParameters parameters;
|
||||||
parameters.shared = false; // Difficile de partager le contexte de référence avec lui-même
|
parameters.shared = false; // Difficile de partager le contexte de référence avec lui-même
|
||||||
|
|
||||||
|
|
@ -343,9 +349,11 @@ bool NzContext::Initialize()
|
||||||
|
|
||||||
void NzContext::Uninitialize()
|
void NzContext::Uninitialize()
|
||||||
{
|
{
|
||||||
|
NzContextLibrary::Uninitialize();
|
||||||
s_contexts.clear(); // On supprime tous les contextes créés
|
s_contexts.clear(); // On supprime tous les contextes créés
|
||||||
s_reference.reset();
|
s_reference.reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::unique_ptr<NzContext> NzContext::s_reference;
|
std::unique_ptr<NzContext> NzContext::s_reference;
|
||||||
std::vector<std::unique_ptr<NzContext>> NzContext::s_contexts;
|
std::vector<std::unique_ptr<NzContext>> NzContext::s_contexts;
|
||||||
|
NzContextLibrary::LibraryMap NzContext::s_library;
|
||||||
|
|
|
||||||
|
|
@ -114,3 +114,21 @@ bool NzRenderBuffer::IsSupported()
|
||||||
{
|
{
|
||||||
return NzOpenGL::IsSupported(nzOpenGLExtension_FrameBufferObject);
|
return NzOpenGL::IsSupported(nzOpenGLExtension_FrameBufferObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool NzRenderBuffer::Initialize()
|
||||||
|
{
|
||||||
|
if (!NzRenderBufferLibrary::Initialize())
|
||||||
|
{
|
||||||
|
NazaraError("Failed to initialise library");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void NzRenderBuffer::Uninitialize()
|
||||||
|
{
|
||||||
|
NzRenderBufferLibrary::Uninitialize();
|
||||||
|
}
|
||||||
|
|
||||||
|
NzRenderBufferLibrary::LibraryMap NzRenderBuffer::s_library;
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@
|
||||||
#include <Nazara/Renderer/DebugDrawer.hpp>
|
#include <Nazara/Renderer/DebugDrawer.hpp>
|
||||||
#include <Nazara/Renderer/HardwareBuffer.hpp>
|
#include <Nazara/Renderer/HardwareBuffer.hpp>
|
||||||
#include <Nazara/Renderer/OpenGL.hpp>
|
#include <Nazara/Renderer/OpenGL.hpp>
|
||||||
|
#include <Nazara/Renderer/RenderBuffer.hpp>
|
||||||
#include <Nazara/Renderer/RenderTarget.hpp>
|
#include <Nazara/Renderer/RenderTarget.hpp>
|
||||||
#include <Nazara/Renderer/Shader.hpp>
|
#include <Nazara/Renderer/Shader.hpp>
|
||||||
#include <Nazara/Renderer/Texture.hpp>
|
#include <Nazara/Renderer/Texture.hpp>
|
||||||
|
|
@ -736,7 +737,7 @@ bool NzRenderer::Initialize()
|
||||||
NzCallOnExit onExit(NzRenderer::Uninitialize);
|
NzCallOnExit onExit(NzRenderer::Uninitialize);
|
||||||
|
|
||||||
// Initialisation d'OpenGL
|
// Initialisation d'OpenGL
|
||||||
if (!NzOpenGL::Initialize())
|
if (!NzOpenGL::Initialize()) // Initialise également Context
|
||||||
{
|
{
|
||||||
NazaraError("Failed to initialize OpenGL");
|
NazaraError("Failed to initialize OpenGL");
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -864,15 +865,27 @@ bool NzRenderer::Initialize()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!NzRenderBuffer::Initialize())
|
||||||
|
{
|
||||||
|
NazaraError("Failed to initialize render buffers");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (!NzShader::Initialize())
|
if (!NzShader::Initialize())
|
||||||
{
|
{
|
||||||
NazaraError("Failed to initialize shaders");
|
NazaraError("Failed to initialize shaders");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!NzTexture::Initialize())
|
||||||
|
{
|
||||||
|
NazaraError("Failed to initialize textures");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (!NzTextureSampler::Initialize())
|
if (!NzTextureSampler::Initialize())
|
||||||
{
|
{
|
||||||
NazaraError("Failed to initialize texture sampler");
|
NazaraError("Failed to initialize texture samplers");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1545,7 +1558,9 @@ void NzRenderer::Uninitialize()
|
||||||
|
|
||||||
NzUberShader::Uninitialize();
|
NzUberShader::Uninitialize();
|
||||||
NzTextureSampler::Uninitialize();
|
NzTextureSampler::Uninitialize();
|
||||||
|
NzTexture::Uninitialize();
|
||||||
NzShader::Uninitialize();
|
NzShader::Uninitialize();
|
||||||
|
NzRenderBuffer::Uninitialize();
|
||||||
NzDebugDrawer::Uninitialize();
|
NzDebugDrawer::Uninitialize();
|
||||||
|
|
||||||
s_textureUnits.clear();
|
s_textureUnits.clear();
|
||||||
|
|
|
||||||
|
|
@ -1274,3 +1274,21 @@ bool NzTexture::CreateTexture(bool proxy)
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool NzTexture::Initialize()
|
||||||
|
{
|
||||||
|
if (!NzTextureLibrary::Initialize())
|
||||||
|
{
|
||||||
|
NazaraError("Failed to initialise library");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void NzTexture::Uninitialize()
|
||||||
|
{
|
||||||
|
NzTextureLibrary::Uninitialize();
|
||||||
|
}
|
||||||
|
|
||||||
|
NzTextureLibrary::LibraryMap NzTexture::s_library;
|
||||||
|
|
|
||||||
|
|
@ -511,4 +511,21 @@ void NzAnimation::RemoveSequence(unsigned int index)
|
||||||
m_impl->sequences.erase(it);
|
m_impl->sequences.erase(it);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool NzAnimation::Initialize()
|
||||||
|
{
|
||||||
|
if (!NzAnimationLibrary::Initialize())
|
||||||
|
{
|
||||||
|
NazaraError("Failed to initialise library");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void NzAnimation::Uninitialize()
|
||||||
|
{
|
||||||
|
NzAnimationLibrary::Uninitialize();
|
||||||
|
}
|
||||||
|
|
||||||
|
NzAnimationLibrary::LibraryMap NzAnimation::s_library;
|
||||||
NzAnimationLoader::LoaderList NzAnimation::s_loaders;
|
NzAnimationLoader::LoaderList NzAnimation::s_loaders;
|
||||||
|
|
|
||||||
|
|
@ -363,15 +363,6 @@ unsigned int NzFont::GetDefaultMinimumStepSize()
|
||||||
return s_defaultMinimumStepSize;
|
return s_defaultMinimumStepSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool NzFont::Initialize()
|
|
||||||
{
|
|
||||||
s_defaultAtlas.reset(new NzGuillotineImageAtlas);
|
|
||||||
s_defaultGlyphBorder = 1;
|
|
||||||
s_defaultMinimumStepSize = 1;
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
void NzFont::SetDefaultAtlas(const std::shared_ptr<NzAbstractAtlas>& atlas)
|
void NzFont::SetDefaultAtlas(const std::shared_ptr<NzAbstractAtlas>& atlas)
|
||||||
{
|
{
|
||||||
s_defaultAtlas = atlas;
|
s_defaultAtlas = atlas;
|
||||||
|
|
@ -395,12 +386,6 @@ void NzFont::SetDefaultMinimumStepSize(unsigned int minimumStepSize)
|
||||||
s_defaultMinimumStepSize = minimumStepSize;
|
s_defaultMinimumStepSize = minimumStepSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
void NzFont::Uninitialize()
|
|
||||||
{
|
|
||||||
s_defaultAtlas.reset();
|
|
||||||
s_defaultFont.Reset();
|
|
||||||
}
|
|
||||||
|
|
||||||
nzUInt64 NzFont::ComputeKey(unsigned int characterSize, nzUInt32 style) const
|
nzUInt64 NzFont::ComputeKey(unsigned int characterSize, nzUInt32 style) const
|
||||||
{
|
{
|
||||||
// On prend le pas en compte
|
// On prend le pas en compte
|
||||||
|
|
@ -573,8 +558,31 @@ const NzFont::Glyph& NzFont::PrecacheGlyph(GlyphMap& glyphMap, unsigned int char
|
||||||
return glyph;
|
return glyph;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool NzFont::Initialize()
|
||||||
|
{
|
||||||
|
if (!NzFontLibrary::Initialize())
|
||||||
|
{
|
||||||
|
NazaraError("Failed to initialise library");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
s_defaultAtlas.reset(new NzGuillotineImageAtlas);
|
||||||
|
s_defaultGlyphBorder = 1;
|
||||||
|
s_defaultMinimumStepSize = 1;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void NzFont::Uninitialize()
|
||||||
|
{
|
||||||
|
s_defaultAtlas.reset();
|
||||||
|
s_defaultFont.Reset();
|
||||||
|
NzFontLibrary::Uninitialize();
|
||||||
|
}
|
||||||
|
|
||||||
std::shared_ptr<NzAbstractAtlas> NzFont::s_defaultAtlas;
|
std::shared_ptr<NzAbstractAtlas> NzFont::s_defaultAtlas;
|
||||||
NzFontRef NzFont::s_defaultFont;
|
NzFontRef NzFont::s_defaultFont;
|
||||||
|
NzFontLibrary::LibraryMap NzFont::s_library;
|
||||||
NzFontLoader::LoaderList NzFont::s_loaders;
|
NzFontLoader::LoaderList NzFont::s_loaders;
|
||||||
unsigned int NzFont::s_defaultGlyphBorder;
|
unsigned int NzFont::s_defaultGlyphBorder;
|
||||||
unsigned int NzFont::s_defaultMinimumStepSize;
|
unsigned int NzFont::s_defaultMinimumStepSize;
|
||||||
|
|
|
||||||
|
|
@ -1392,5 +1392,22 @@ void NzImage::ReleaseImage()
|
||||||
m_sharedImage = &emptyImage;
|
m_sharedImage = &emptyImage;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool NzImage::Initialize()
|
||||||
|
{
|
||||||
|
if (!NzImageLibrary::Initialize())
|
||||||
|
{
|
||||||
|
NazaraError("Failed to initialise library");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void NzImage::Uninitialize()
|
||||||
|
{
|
||||||
|
NzImageLibrary::Uninitialize();
|
||||||
|
}
|
||||||
|
|
||||||
NzImage::SharedImage NzImage::emptyImage(0, nzImageType_2D, nzPixelFormat_Undefined, 1, nullptr, 0, 0, 0);
|
NzImage::SharedImage NzImage::emptyImage(0, nzImageType_2D, nzPixelFormat_Undefined, 1, nullptr, 0, 0, 0);
|
||||||
|
NzImageLibrary::LibraryMap NzImage::s_library;
|
||||||
NzImageLoader::LoaderList NzImage::s_loaders;
|
NzImageLoader::LoaderList NzImage::s_loaders;
|
||||||
|
|
|
||||||
|
|
@ -1002,4 +1002,21 @@ void NzMesh::Transform(const NzMatrix4f& matrix)
|
||||||
m_impl->aabbUpdated = false;
|
m_impl->aabbUpdated = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool NzMesh::Initialize()
|
||||||
|
{
|
||||||
|
if (!NzMeshLibrary::Initialize())
|
||||||
|
{
|
||||||
|
NazaraError("Failed to initialise library");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void NzMesh::Uninitialize()
|
||||||
|
{
|
||||||
|
NzMeshLibrary::Uninitialize();
|
||||||
|
}
|
||||||
|
|
||||||
|
NzMeshLibrary::LibraryMap NzMesh::s_library;
|
||||||
NzMeshLoader::LoaderList NzMesh::s_loaders;
|
NzMeshLoader::LoaderList NzMesh::s_loaders;
|
||||||
|
|
|
||||||
|
|
@ -416,3 +416,21 @@ void NzSkeleton::UpdateJointMap() const
|
||||||
|
|
||||||
m_impl->jointMapUpdated = true;
|
m_impl->jointMapUpdated = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool NzSkeleton::Initialize()
|
||||||
|
{
|
||||||
|
if (!NzSkeletonLibrary::Initialize())
|
||||||
|
{
|
||||||
|
NazaraError("Failed to initialise library");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void NzSkeleton::Uninitialize()
|
||||||
|
{
|
||||||
|
NzSkeletonLibrary::Uninitialize();
|
||||||
|
}
|
||||||
|
|
||||||
|
NzSkeletonLibrary::LibraryMap NzSkeleton::s_library;
|
||||||
|
|
|
||||||
|
|
@ -10,16 +10,20 @@
|
||||||
#include <Nazara/Core/Log.hpp>
|
#include <Nazara/Core/Log.hpp>
|
||||||
#include <Nazara/Core/TaskScheduler.hpp>
|
#include <Nazara/Core/TaskScheduler.hpp>
|
||||||
#include <Nazara/Core/Thread.hpp>
|
#include <Nazara/Core/Thread.hpp>
|
||||||
|
#include <Nazara/Utility/Animation.hpp>
|
||||||
#include <Nazara/Utility/Buffer.hpp>
|
#include <Nazara/Utility/Buffer.hpp>
|
||||||
#include <Nazara/Utility/Config.hpp>
|
#include <Nazara/Utility/Config.hpp>
|
||||||
#include <Nazara/Utility/Font.hpp>
|
#include <Nazara/Utility/Font.hpp>
|
||||||
|
#include <Nazara/Utility/Image.hpp>
|
||||||
#include <Nazara/Utility/Loaders/FreeType.hpp>
|
#include <Nazara/Utility/Loaders/FreeType.hpp>
|
||||||
#include <Nazara/Utility/Loaders/MD2.hpp>
|
#include <Nazara/Utility/Loaders/MD2.hpp>
|
||||||
#include <Nazara/Utility/Loaders/MD5Anim.hpp>
|
#include <Nazara/Utility/Loaders/MD5Anim.hpp>
|
||||||
#include <Nazara/Utility/Loaders/MD5Mesh.hpp>
|
#include <Nazara/Utility/Loaders/MD5Mesh.hpp>
|
||||||
#include <Nazara/Utility/Loaders/PCX.hpp>
|
#include <Nazara/Utility/Loaders/PCX.hpp>
|
||||||
#include <Nazara/Utility/Loaders/STB.hpp>
|
#include <Nazara/Utility/Loaders/STB.hpp>
|
||||||
|
#include <Nazara/Utility/Mesh.hpp>
|
||||||
#include <Nazara/Utility/PixelFormat.hpp>
|
#include <Nazara/Utility/PixelFormat.hpp>
|
||||||
|
#include <Nazara/Utility/Skeleton.hpp>
|
||||||
#include <Nazara/Utility/VertexDeclaration.hpp>
|
#include <Nazara/Utility/VertexDeclaration.hpp>
|
||||||
#include <Nazara/Utility/Window.hpp>
|
#include <Nazara/Utility/Window.hpp>
|
||||||
#include <Nazara/Utility/Debug.hpp>
|
#include <Nazara/Utility/Debug.hpp>
|
||||||
|
|
@ -44,6 +48,12 @@ bool NzUtility::Initialize()
|
||||||
// Initialisation du module
|
// Initialisation du module
|
||||||
NzCallOnExit onExit(NzUtility::Uninitialize);
|
NzCallOnExit onExit(NzUtility::Uninitialize);
|
||||||
|
|
||||||
|
if (!NzAnimation::Initialize())
|
||||||
|
{
|
||||||
|
NazaraError("Failed to initialize animations");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (!NzBuffer::Initialize())
|
if (!NzBuffer::Initialize())
|
||||||
{
|
{
|
||||||
NazaraError("Failed to initialize buffers");
|
NazaraError("Failed to initialize buffers");
|
||||||
|
|
@ -56,12 +66,30 @@ bool NzUtility::Initialize()
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!NzImage::Initialize())
|
||||||
|
{
|
||||||
|
NazaraError("Failed to initialize images");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!NzMesh::Initialize())
|
||||||
|
{
|
||||||
|
NazaraError("Failed to initialize meshes");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (!NzPixelFormat::Initialize())
|
if (!NzPixelFormat::Initialize())
|
||||||
{
|
{
|
||||||
NazaraError("Failed to initialize pixel formats");
|
NazaraError("Failed to initialize pixel formats");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!NzSkeleton::Initialize())
|
||||||
|
{
|
||||||
|
NazaraError("Failed to initialize skeletons");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (!NzVertexDeclaration::Initialize())
|
if (!NzVertexDeclaration::Initialize())
|
||||||
{
|
{
|
||||||
NazaraError("Failed to initialize vertex declarations");
|
NazaraError("Failed to initialize vertex declarations");
|
||||||
|
|
@ -129,9 +157,13 @@ void NzUtility::Uninitialize()
|
||||||
|
|
||||||
NzWindow::Uninitialize();
|
NzWindow::Uninitialize();
|
||||||
NzVertexDeclaration::Uninitialize();
|
NzVertexDeclaration::Uninitialize();
|
||||||
|
NzSkeleton::Uninitialize();
|
||||||
NzPixelFormat::Uninitialize();
|
NzPixelFormat::Uninitialize();
|
||||||
|
NzMesh::Uninitialize();
|
||||||
|
NzImage::Uninitialize();
|
||||||
NzFont::Uninitialize();
|
NzFont::Uninitialize();
|
||||||
NzBuffer::Uninitialize();
|
NzBuffer::Uninitialize();
|
||||||
|
NzAnimation::Uninitialize();
|
||||||
|
|
||||||
NazaraNotice("Uninitialized: Utility module");
|
NazaraNotice("Uninitialized: Utility module");
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -179,6 +179,12 @@ bool NzVertexDeclaration::IsTypeSupported(nzComponentType type)
|
||||||
|
|
||||||
bool NzVertexDeclaration::Initialize()
|
bool NzVertexDeclaration::Initialize()
|
||||||
{
|
{
|
||||||
|
if (!NzVertexDeclarationLibrary::Initialize())
|
||||||
|
{
|
||||||
|
NazaraError("Failed to initialise library");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
NzErrorFlags flags(nzErrorFlag_Silent | nzErrorFlag_ThrowException);
|
NzErrorFlags flags(nzErrorFlag_Silent | nzErrorFlag_ThrowException);
|
||||||
|
|
@ -290,7 +296,8 @@ bool NzVertexDeclaration::Initialize()
|
||||||
|
|
||||||
void NzVertexDeclaration::Uninitialize()
|
void NzVertexDeclaration::Uninitialize()
|
||||||
{
|
{
|
||||||
// Rien à faire
|
NzVertexDeclarationLibrary::Uninitialize();
|
||||||
}
|
}
|
||||||
|
|
||||||
NzVertexDeclaration NzVertexDeclaration::s_declarations[nzVertexLayout_Max+1];
|
NzVertexDeclaration NzVertexDeclaration::s_declarations[nzVertexLayout_Max+1];
|
||||||
|
NzVertexDeclarationLibrary::LibraryMap NzVertexDeclaration::s_library;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue