Separated reference counting from Resources
Former-commit-id: 7380818cfee9e249c11fd15da9ff7883a6e76565
This commit is contained in:
@@ -8,20 +8,20 @@
|
||||
#define NAZARA_CONTEXT_HPP
|
||||
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/Resource.hpp>
|
||||
#include <Nazara/Core/ResourceRef.hpp>
|
||||
#include <Nazara/Core/ObjectRef.hpp>
|
||||
#include <Nazara/Core/RefCounted.hpp>
|
||||
#include <Nazara/Renderer/ContextParameters.hpp>
|
||||
#include <memory>
|
||||
#include <vector>
|
||||
|
||||
class NzContext;
|
||||
|
||||
using NzContextConstRef = NzResourceRef<const NzContext>;
|
||||
using NzContextRef = NzResourceRef<NzContext>;
|
||||
using NzContextConstRef = NzObjectRef<const NzContext>;
|
||||
using NzContextRef = NzObjectRef<NzContext>;
|
||||
|
||||
class NzContextImpl;
|
||||
|
||||
class NAZARA_API NzContext : public NzResource
|
||||
class NAZARA_API NzContext : public NzRefCounted
|
||||
{
|
||||
friend NzContextImpl;
|
||||
friend class NzOpenGL;
|
||||
|
||||
@@ -9,16 +9,16 @@
|
||||
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/NonCopyable.hpp>
|
||||
#include <Nazara/Core/Resource.hpp>
|
||||
#include <Nazara/Core/ResourceRef.hpp>
|
||||
#include <Nazara/Core/ObjectRef.hpp>
|
||||
#include <Nazara/Core/RefCounted.hpp>
|
||||
#include <Nazara/Utility/Enums.hpp>
|
||||
|
||||
class NzRenderBuffer;
|
||||
|
||||
using NzRenderBufferConstRef = NzResourceRef<const NzRenderBuffer>;
|
||||
using NzRenderBufferRef = NzResourceRef<NzRenderBuffer>;
|
||||
using NzRenderBufferConstRef = NzObjectRef<const NzRenderBuffer>;
|
||||
using NzRenderBufferRef = NzObjectRef<NzRenderBuffer>;
|
||||
|
||||
class NAZARA_API NzRenderBuffer : public NzResource, NzNonCopyable
|
||||
class NAZARA_API NzRenderBuffer : public NzRefCounted, NzNonCopyable
|
||||
{
|
||||
public:
|
||||
NzRenderBuffer();
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/NonCopyable.hpp>
|
||||
#include <Nazara/Core/ResourceListener.hpp>
|
||||
#include <Nazara/Core/ObjectListener.hpp>
|
||||
#include <Nazara/Renderer/Config.hpp>
|
||||
#include <Nazara/Renderer/RenderTarget.hpp>
|
||||
#include <Nazara/Renderer/Texture.hpp>
|
||||
@@ -20,7 +20,7 @@ class NzRenderBuffer;
|
||||
|
||||
struct NzRenderTextureImpl;
|
||||
|
||||
class NAZARA_API NzRenderTexture : public NzRenderTarget, NzResourceListener, NzNonCopyable
|
||||
class NAZARA_API NzRenderTexture : public NzRenderTarget, NzObjectListener, NzNonCopyable
|
||||
{
|
||||
public:
|
||||
NzRenderTexture() = default;
|
||||
@@ -66,7 +66,7 @@ class NAZARA_API NzRenderTexture : public NzRenderTarget, NzResourceListener, Nz
|
||||
void EnsureTargetUpdated() const override;
|
||||
|
||||
private:
|
||||
bool OnResourceDestroy(const NzResource* resource, int index) override;
|
||||
bool OnObjectDestroy(const NzRefCounted* object, int index) override;
|
||||
void UpdateDrawBuffers() const;
|
||||
void UpdateTargets() const;
|
||||
|
||||
|
||||
@@ -11,8 +11,8 @@
|
||||
#include <Nazara/Core/ByteArray.hpp>
|
||||
#include <Nazara/Core/Color.hpp>
|
||||
#include <Nazara/Core/NonCopyable.hpp>
|
||||
#include <Nazara/Core/Resource.hpp>
|
||||
#include <Nazara/Core/ResourceRef.hpp>
|
||||
#include <Nazara/Core/ObjectRef.hpp>
|
||||
#include <Nazara/Core/RefCounted.hpp>
|
||||
#include <Nazara/Core/String.hpp>
|
||||
#include <Nazara/Math/Matrix4.hpp>
|
||||
#include <Nazara/Math/Vector2.hpp>
|
||||
@@ -23,10 +23,10 @@
|
||||
class NzShader;
|
||||
class NzShaderStage;
|
||||
|
||||
using NzShaderConstRef = NzResourceRef<const NzShader>;
|
||||
using NzShaderRef = NzResourceRef<NzShader>;
|
||||
using NzShaderConstRef = NzObjectRef<const NzShader>;
|
||||
using NzShaderRef = NzObjectRef<NzShader>;
|
||||
|
||||
class NAZARA_API NzShader : public NzResource, NzNonCopyable
|
||||
class NAZARA_API NzShader : public NzRefCounted, NzNonCopyable
|
||||
{
|
||||
friend class NzRenderer;
|
||||
|
||||
|
||||
@@ -9,8 +9,9 @@
|
||||
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/NonCopyable.hpp>
|
||||
#include <Nazara/Core/ObjectRef.hpp>
|
||||
#include <Nazara/Core/RefCounted.hpp>
|
||||
#include <Nazara/Core/Resource.hpp>
|
||||
#include <Nazara/Core/ResourceRef.hpp>
|
||||
#include <Nazara/Renderer/Enums.hpp>
|
||||
#include <Nazara/Utility/CubemapParams.hpp>
|
||||
#include <Nazara/Utility/Image.hpp>
|
||||
@@ -18,12 +19,12 @@
|
||||
|
||||
class NzTexture;
|
||||
|
||||
using NzTextureConstRef = NzResourceRef<const NzTexture>;
|
||||
using NzTextureRef = NzResourceRef<NzTexture>;
|
||||
using NzTextureConstRef = NzObjectRef<const NzTexture>;
|
||||
using NzTextureRef = NzObjectRef<NzTexture>;
|
||||
|
||||
struct NzTextureImpl;
|
||||
|
||||
class NAZARA_API NzTexture : public NzResource, NzNonCopyable
|
||||
class NAZARA_API NzTexture : public NzRefCounted, public NzResource, NzNonCopyable
|
||||
{
|
||||
friend class NzRenderer;
|
||||
friend class NzRenderTexture;
|
||||
|
||||
@@ -9,17 +9,17 @@
|
||||
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/ParameterList.hpp>
|
||||
#include <Nazara/Core/Resource.hpp>
|
||||
#include <Nazara/Core/ResourceRef.hpp>
|
||||
#include <Nazara/Core/ObjectRef.hpp>
|
||||
#include <Nazara/Core/RefCounted.hpp>
|
||||
#include <Nazara/Renderer/UberShaderInstance.hpp>
|
||||
#include <unordered_map>
|
||||
|
||||
class NzUberShader;
|
||||
|
||||
using NzUberShaderConstRef = NzResourceRef<const NzUberShader>;
|
||||
using NzUberShaderRef = NzResourceRef<NzUberShader>;
|
||||
using NzUberShaderConstRef = NzObjectRef<const NzUberShader>;
|
||||
using NzUberShaderRef = NzObjectRef<NzUberShader>;
|
||||
|
||||
class NAZARA_API NzUberShader : public NzResource
|
||||
class NAZARA_API NzUberShader : public NzRefCounted
|
||||
{
|
||||
public:
|
||||
NzUberShader() = default;
|
||||
|
||||
Reference in New Issue
Block a user