Replace RenderWindow with swapchains
This commit is contained in:
committed by
Jérôme Leclercq
parent
8db1c04568
commit
18851c9185
@@ -13,6 +13,7 @@
|
||||
#include <Nazara/Graphics/Graphics.hpp>
|
||||
#include <Nazara/Graphics/Components/GraphicsComponent.hpp>
|
||||
#include <Nazara/Graphics/Components/LightComponent.hpp>
|
||||
#include <Nazara/Renderer/WindowSwapchain.hpp>
|
||||
#include <Nazara/Utility/Node.hpp>
|
||||
#include <Nazara/Utility/Skeleton.hpp>
|
||||
#include <Nazara/Utils/MemoryPool.hpp>
|
||||
@@ -27,7 +28,6 @@ namespace Nz
|
||||
class CommandBufferBuilder;
|
||||
class FramePipeline;
|
||||
class RenderFrame;
|
||||
class RenderWindow;
|
||||
class UploadPool;
|
||||
|
||||
class NAZARA_GRAPHICS_API RenderSystem
|
||||
@@ -41,7 +41,7 @@ namespace Nz
|
||||
RenderSystem(RenderSystem&&) = delete;
|
||||
~RenderSystem();
|
||||
|
||||
template<typename T = RenderWindow, typename... Args> T& CreateWindow(Args&&... args);
|
||||
WindowSwapchain& CreateSwapchain(Window& window, const SwapchainParameters& parameters = SwapchainParameters{});
|
||||
|
||||
inline FramePipeline& GetFramePipeline();
|
||||
inline const FramePipeline& GetFramePipeline() const;
|
||||
@@ -133,7 +133,7 @@ namespace Nz
|
||||
std::unordered_set<GraphicsEntity*> m_newlyVisibleGfxEntities;
|
||||
std::unordered_set<LightEntity*> m_newlyHiddenLightEntities;
|
||||
std::unordered_set<LightEntity*> m_newlyVisibleLightEntities;
|
||||
std::vector<std::unique_ptr<RenderWindow>> m_renderWindows;
|
||||
std::vector<std::unique_ptr<WindowSwapchain>> m_windowSwapchains;
|
||||
ElementRendererRegistry m_elementRegistry;
|
||||
MemoryPool<CameraEntity> m_cameraEntityPool;
|
||||
MemoryPool<GraphicsEntity> m_graphicsEntityPool;
|
||||
|
||||
@@ -8,19 +8,6 @@
|
||||
|
||||
namespace Nz
|
||||
{
|
||||
template<typename T, typename ...Args>
|
||||
T& RenderSystem::CreateWindow(Args&& ...args)
|
||||
{
|
||||
static_assert(std::is_base_of_v<RenderWindow, T>, "T must inherit RenderWindow");
|
||||
|
||||
auto windowPtr = std::make_unique<T>(std::forward<Args>(args)...);
|
||||
T& windowRef = *windowPtr;
|
||||
|
||||
m_renderWindows.emplace_back(std::move(windowPtr));
|
||||
|
||||
return windowRef;
|
||||
}
|
||||
|
||||
inline FramePipeline& RenderSystem::GetFramePipeline()
|
||||
{
|
||||
return *m_pipeline;
|
||||
|
||||
Reference in New Issue
Block a user