Graphics: Use memory pools for render elements

This commit is contained in:
SirLynix
2022-08-30 19:27:52 +02:00
parent 7949c57f16
commit 017a6c7af3
43 changed files with 528 additions and 133 deletions

View File

@@ -0,0 +1,39 @@
// Copyright (C) 2022 Jérôme "Lynix" Leclercq (lynix680@gmail.com)
// This file is part of the "Nazara Engine - Graphics module"
// For conditions of distribution and use, see copyright notice in Config.hpp
#include <Nazara/Graphics/RenderElementOwner.hpp>
#include <Nazara/Graphics/Debug.hpp>
namespace Nz
{
inline RenderElementOwner::RenderElementOwner(RenderElementPoolBase* pool, std::size_t poolIndex, RenderElement* element) :
m_poolIndex(poolIndex),
m_element(element),
m_pool(pool)
{
}
inline RenderElement* RenderElementOwner::GetElement()
{
return m_element;
}
inline const RenderElement* RenderElementOwner::GetElement() const
{
return m_element;
}
inline RenderElement* RenderElementOwner::operator->()
{
// FIXME: Element pointer could also be retrieved from memory pool using poolIndex at the cost of a division
return m_element;
}
inline const RenderElement* RenderElementOwner::operator->() const
{
return m_element;
}
}
#include <Nazara/Graphics/DebugOff.hpp>