Renderer/Framebuffer: Add GetType (and rework backend internals)
This commit is contained in:
parent
c188d0616a
commit
d88c4ecb5b
|
|
@ -16,13 +16,7 @@ namespace Nz
|
|||
class NAZARA_OPENGLRENDERER_API OpenGLFramebuffer : public Framebuffer
|
||||
{
|
||||
public:
|
||||
enum class Type
|
||||
{
|
||||
FBO,
|
||||
Window
|
||||
};
|
||||
|
||||
inline OpenGLFramebuffer(Type type);
|
||||
using Framebuffer::Framebuffer;
|
||||
OpenGLFramebuffer() = default;
|
||||
OpenGLFramebuffer(const OpenGLFramebuffer&) = delete;
|
||||
OpenGLFramebuffer(OpenGLFramebuffer&&) noexcept = default;
|
||||
|
|
@ -32,13 +26,8 @@ namespace Nz
|
|||
|
||||
virtual std::size_t GetColorBufferCount() const = 0;
|
||||
|
||||
inline Type GetType() const;
|
||||
|
||||
OpenGLFramebuffer& operator=(const OpenGLFramebuffer&) = delete;
|
||||
OpenGLFramebuffer& operator=(OpenGLFramebuffer&&) noexcept = default;
|
||||
|
||||
private:
|
||||
Type m_type;
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,15 +7,6 @@
|
|||
|
||||
namespace Nz
|
||||
{
|
||||
inline OpenGLFramebuffer::OpenGLFramebuffer(Type type) :
|
||||
m_type(type)
|
||||
{
|
||||
}
|
||||
|
||||
inline auto OpenGLFramebuffer::GetType() const -> Type
|
||||
{
|
||||
return m_type;
|
||||
}
|
||||
}
|
||||
|
||||
#include <Nazara/OpenGLRenderer/DebugOff.hpp>
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
namespace Nz
|
||||
{
|
||||
inline OpenGLWindowFramebuffer::OpenGLWindowFramebuffer(OpenGLRenderWindow& renderWindow) :
|
||||
OpenGLFramebuffer(OpenGLFramebuffer::Type::Window),
|
||||
OpenGLFramebuffer(FramebufferType::Window),
|
||||
m_renderWindow(renderWindow)
|
||||
{
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,6 +24,12 @@ namespace Nz
|
|||
Store
|
||||
};
|
||||
|
||||
enum class FramebufferType
|
||||
{
|
||||
Texture,
|
||||
Window
|
||||
};
|
||||
|
||||
enum class MemoryAccess
|
||||
{
|
||||
ColorRead,
|
||||
|
|
|
|||
|
|
@ -9,19 +9,25 @@
|
|||
|
||||
#include <Nazara/Prerequisites.hpp>
|
||||
#include <Nazara/Renderer/Config.hpp>
|
||||
#include <Nazara/Renderer/Enums.hpp>
|
||||
|
||||
namespace Nz
|
||||
{
|
||||
class NAZARA_RENDERER_API Framebuffer
|
||||
{
|
||||
public:
|
||||
Framebuffer() = default;
|
||||
inline Framebuffer(FramebufferType type);
|
||||
Framebuffer(const Framebuffer&) = delete;
|
||||
Framebuffer(Framebuffer&&) noexcept = default;
|
||||
virtual ~Framebuffer();
|
||||
|
||||
inline FramebufferType GetType() const;
|
||||
|
||||
Framebuffer& operator=(const Framebuffer&) = delete;
|
||||
Framebuffer& operator=(Framebuffer&&) noexcept = default;
|
||||
|
||||
private:
|
||||
FramebufferType m_type;
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,6 +7,15 @@
|
|||
|
||||
namespace Nz
|
||||
{
|
||||
inline Framebuffer::Framebuffer(FramebufferType type) :
|
||||
m_type(type)
|
||||
{
|
||||
}
|
||||
|
||||
inline FramebufferType Framebuffer::GetType() const
|
||||
{
|
||||
return m_type;
|
||||
}
|
||||
}
|
||||
|
||||
#include <Nazara/Renderer/DebugOff.hpp>
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
#include <Nazara/Renderer/RenderWindowImpl.hpp>
|
||||
#include <Nazara/VulkanRenderer/Config.hpp>
|
||||
#include <Nazara/VulkanRenderer/VulkanDevice.hpp>
|
||||
#include <Nazara/VulkanRenderer/VulkanMultipleFramebuffer.hpp>
|
||||
#include <Nazara/VulkanRenderer/VulkanWindowFramebuffer.hpp>
|
||||
#include <Nazara/VulkanRenderer/VulkanRenderImage.hpp>
|
||||
#include <Nazara/VulkanRenderer/VulkanRenderPass.hpp>
|
||||
#include <Nazara/VulkanRenderer/VkRenderTarget.hpp>
|
||||
|
|
@ -48,7 +48,7 @@ namespace Nz
|
|||
|
||||
std::shared_ptr<CommandPool> CreateCommandPool(QueueType queueType) override;
|
||||
|
||||
inline const VulkanMultipleFramebuffer& GetFramebuffer() const override;
|
||||
inline const VulkanWindowFramebuffer& GetFramebuffer() const override;
|
||||
inline VulkanDevice& GetDevice();
|
||||
inline const VulkanDevice& GetDevice() const;
|
||||
inline Vk::QueueHandle& GetGraphicsQueue();
|
||||
|
|
@ -67,7 +67,7 @@ namespace Nz
|
|||
bool SetupRenderPass();
|
||||
bool SetupSwapchain(const Vk::PhysicalDevice& deviceInfo, Vk::Surface& surface, const Vector2ui& size);
|
||||
|
||||
std::optional<VulkanMultipleFramebuffer> m_framebuffer;
|
||||
std::optional<VulkanWindowFramebuffer> m_framebuffer;
|
||||
std::optional<VulkanRenderPass> m_renderPass;
|
||||
std::shared_ptr<VulkanDevice> m_device;
|
||||
std::size_t m_currentFrame;
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
namespace Nz
|
||||
{
|
||||
inline const VulkanMultipleFramebuffer& VkRenderWindow::GetFramebuffer() const
|
||||
inline const VulkanWindowFramebuffer& VkRenderWindow::GetFramebuffer() const
|
||||
{
|
||||
return *m_framebuffer;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,24 +17,13 @@ namespace Nz
|
|||
class NAZARA_VULKANRENDERER_API VulkanFramebuffer : public Framebuffer
|
||||
{
|
||||
public:
|
||||
enum class Type
|
||||
{
|
||||
Multiple,
|
||||
Single
|
||||
};
|
||||
|
||||
inline VulkanFramebuffer(Type type);
|
||||
using Framebuffer::Framebuffer;
|
||||
VulkanFramebuffer(const VulkanFramebuffer&) = delete;
|
||||
VulkanFramebuffer(VulkanFramebuffer&&) noexcept = default;
|
||||
~VulkanFramebuffer() = default;
|
||||
|
||||
inline Type GetType() const;
|
||||
|
||||
VulkanFramebuffer& operator=(const VulkanFramebuffer&) = delete;
|
||||
VulkanFramebuffer& operator=(VulkanFramebuffer&&) noexcept = default;
|
||||
|
||||
private:
|
||||
Type m_type;
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,15 +7,6 @@
|
|||
|
||||
namespace Nz
|
||||
{
|
||||
inline VulkanFramebuffer::VulkanFramebuffer(Type type) :
|
||||
m_type(type)
|
||||
{
|
||||
}
|
||||
|
||||
inline auto VulkanFramebuffer::GetType() const -> Type
|
||||
{
|
||||
return m_type;
|
||||
}
|
||||
}
|
||||
|
||||
#include <Nazara/VulkanRenderer/DebugOff.hpp>
|
||||
|
|
|
|||
|
|
@ -1,36 +0,0 @@
|
|||
// Copyright (C) 2020 Jérôme Leclercq
|
||||
// This file is part of the "Nazara Engine - Renderer module"
|
||||
// For conditions of distribution and use, see copyright notice in Config.hpp
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef NAZARA_VULKANRENDERER_VULKANMULTIPLEFRAMEBUFFER_HPP
|
||||
#define NAZARA_VULKANRENDERER_VULKANMULTIPLEFRAMEBUFFER_HPP
|
||||
|
||||
#include <Nazara/VulkanRenderer/VulkanFramebuffer.hpp>
|
||||
#include <vector>
|
||||
|
||||
namespace Nz
|
||||
{
|
||||
class NAZARA_VULKANRENDERER_API VulkanMultipleFramebuffer final : public VulkanFramebuffer
|
||||
{
|
||||
public:
|
||||
inline VulkanMultipleFramebuffer(Vk::Framebuffer* framebuffers, std::size_t count);
|
||||
VulkanMultipleFramebuffer(const VulkanMultipleFramebuffer&) = delete;
|
||||
VulkanMultipleFramebuffer(VulkanMultipleFramebuffer&&) noexcept = default;
|
||||
~VulkanMultipleFramebuffer() = default;
|
||||
|
||||
inline const Vk::Framebuffer& GetFramebuffer(std::size_t index) const;
|
||||
inline std::size_t GetFramebufferCount() const;
|
||||
|
||||
VulkanMultipleFramebuffer& operator=(const VulkanMultipleFramebuffer&) = delete;
|
||||
VulkanMultipleFramebuffer& operator=(VulkanMultipleFramebuffer&&) noexcept = default;
|
||||
|
||||
private:
|
||||
std::vector<Vk::Framebuffer> m_framebuffers;
|
||||
};
|
||||
}
|
||||
|
||||
#include <Nazara/VulkanRenderer/VulkanMultipleFramebuffer.inl>
|
||||
|
||||
#endif // NAZARA_VULKANRENDERER_VULKANMULTIPLEFRAMEBUFFER_HPP
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
// Copyright (C) 2020 Jérôme Leclercq
|
||||
// This file is part of the "Nazara Engine - Renderer module"
|
||||
// For conditions of distribution and use, see copyright notice in Config.hpp
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef NAZARA_VULKANRENDERER_VULKANSINGLEFRAMEBUFFER_HPP
|
||||
#define NAZARA_VULKANRENDERER_VULKANSINGLEFRAMEBUFFER_HPP
|
||||
|
||||
#include <Nazara/VulkanRenderer/VulkanFramebuffer.hpp>
|
||||
#include <memory>
|
||||
|
||||
namespace Nz
|
||||
{
|
||||
class RenderPass;
|
||||
class Texture;
|
||||
|
||||
class NAZARA_VULKANRENDERER_API VulkanSingleFramebuffer final : public VulkanFramebuffer
|
||||
{
|
||||
public:
|
||||
VulkanSingleFramebuffer(Vk::Device& device, unsigned int width, unsigned int height, const std::shared_ptr<RenderPass>& renderPass, const std::vector<std::shared_ptr<Texture>>& attachments);
|
||||
VulkanSingleFramebuffer(const VulkanSingleFramebuffer&) = delete;
|
||||
VulkanSingleFramebuffer(VulkanSingleFramebuffer&&) = delete;
|
||||
~VulkanSingleFramebuffer() = default;
|
||||
|
||||
inline Vk::Framebuffer& GetFramebuffer();
|
||||
inline const Vk::Framebuffer& GetFramebuffer() const;
|
||||
|
||||
VulkanSingleFramebuffer& operator=(const VulkanSingleFramebuffer&) = delete;
|
||||
VulkanSingleFramebuffer& operator=(VulkanSingleFramebuffer&&) = delete;
|
||||
|
||||
private:
|
||||
Vk::Framebuffer m_framebuffer;
|
||||
};
|
||||
}
|
||||
|
||||
#include <Nazara/VulkanRenderer/VulkanSingleFramebuffer.inl>
|
||||
|
||||
#endif // NAZARA_VULKANRENDERER_VULKANSINGLEFRAMEBUFFER_HPP
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
// Copyright (C) 2020 Jérôme Leclercq
|
||||
// This file is part of the "Nazara Engine - Renderer module"
|
||||
// For conditions of distribution and use, see copyright notice in Config.hpp
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef NAZARA_VULKANRENDERER_VULKANTEXTUREFRAMEBUFFER_HPP
|
||||
#define NAZARA_VULKANRENDERER_VULKANTEXTUREFRAMEBUFFER_HPP
|
||||
|
||||
#include <Nazara/VulkanRenderer/VulkanFramebuffer.hpp>
|
||||
#include <memory>
|
||||
|
||||
namespace Nz
|
||||
{
|
||||
class RenderPass;
|
||||
class Texture;
|
||||
|
||||
class NAZARA_VULKANRENDERER_API VulkanTextureFramebuffer final : public VulkanFramebuffer
|
||||
{
|
||||
public:
|
||||
VulkanTextureFramebuffer(Vk::Device& device, unsigned int width, unsigned int height, const std::shared_ptr<RenderPass>& renderPass, const std::vector<std::shared_ptr<Texture>>& attachments);
|
||||
VulkanTextureFramebuffer(const VulkanTextureFramebuffer&) = delete;
|
||||
VulkanTextureFramebuffer(VulkanTextureFramebuffer&&) = delete;
|
||||
~VulkanTextureFramebuffer() = default;
|
||||
|
||||
inline Vk::Framebuffer& GetFramebuffer();
|
||||
inline const Vk::Framebuffer& GetFramebuffer() const;
|
||||
|
||||
VulkanTextureFramebuffer& operator=(const VulkanTextureFramebuffer&) = delete;
|
||||
VulkanTextureFramebuffer& operator=(VulkanTextureFramebuffer&&) = delete;
|
||||
|
||||
private:
|
||||
Vk::Framebuffer m_framebuffer;
|
||||
};
|
||||
}
|
||||
|
||||
#include <Nazara/VulkanRenderer/VulkanTextureFramebuffer.inl>
|
||||
|
||||
#endif // NAZARA_VULKANRENDERER_VULKANTEXTUREFRAMEBUFFER_HPP
|
||||
|
|
@ -2,17 +2,17 @@
|
|||
// This file is part of the "Nazara Engine - Vulkan Renderer"
|
||||
// For conditions of distribution and use, see copyright notice in Config.hpp
|
||||
|
||||
#include <Nazara/VulkanRenderer/VulkanSingleFramebuffer.hpp>
|
||||
#include <Nazara/VulkanRenderer/VulkanTextureFramebuffer.hpp>
|
||||
#include <Nazara/VulkanRenderer/Debug.hpp>
|
||||
|
||||
namespace Nz
|
||||
{
|
||||
inline Vk::Framebuffer& VulkanSingleFramebuffer::GetFramebuffer()
|
||||
inline Vk::Framebuffer& VulkanTextureFramebuffer::GetFramebuffer()
|
||||
{
|
||||
return m_framebuffer;
|
||||
}
|
||||
|
||||
inline const Vk::Framebuffer& VulkanSingleFramebuffer::GetFramebuffer() const
|
||||
inline const Vk::Framebuffer& VulkanTextureFramebuffer::GetFramebuffer() const
|
||||
{
|
||||
return m_framebuffer;
|
||||
}
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
// Copyright (C) 2020 Jérôme Leclercq
|
||||
// This file is part of the "Nazara Engine - Renderer module"
|
||||
// For conditions of distribution and use, see copyright notice in Config.hpp
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef NAZARA_VULKANRENDERER_VULKANWINDOWFRAMEBUFFER_HPP
|
||||
#define NAZARA_VULKANRENDERER_VULKANWINDOWFRAMEBUFFER_HPP
|
||||
|
||||
#include <Nazara/VulkanRenderer/VulkanFramebuffer.hpp>
|
||||
#include <vector>
|
||||
|
||||
namespace Nz
|
||||
{
|
||||
class NAZARA_VULKANRENDERER_API VulkanWindowFramebuffer final : public VulkanFramebuffer
|
||||
{
|
||||
public:
|
||||
inline VulkanWindowFramebuffer(Vk::Framebuffer* framebuffers, std::size_t count);
|
||||
VulkanWindowFramebuffer(const VulkanWindowFramebuffer&) = delete;
|
||||
VulkanWindowFramebuffer(VulkanWindowFramebuffer&&) noexcept = default;
|
||||
~VulkanWindowFramebuffer() = default;
|
||||
|
||||
inline const Vk::Framebuffer& GetFramebuffer(std::size_t index) const;
|
||||
inline std::size_t GetFramebufferCount() const;
|
||||
|
||||
VulkanWindowFramebuffer& operator=(const VulkanWindowFramebuffer&) = delete;
|
||||
VulkanWindowFramebuffer& operator=(VulkanWindowFramebuffer&&) noexcept = default;
|
||||
|
||||
private:
|
||||
std::vector<Vk::Framebuffer> m_framebuffers;
|
||||
};
|
||||
}
|
||||
|
||||
#include <Nazara/VulkanRenderer/VulkanWindowFramebuffer.inl>
|
||||
|
||||
#endif // NAZARA_VULKANRENDERER_VULKANWINDOWFRAMEBUFFER_HPP
|
||||
|
|
@ -2,26 +2,26 @@
|
|||
// This file is part of the "Nazara Engine - Vulkan Renderer"
|
||||
// For conditions of distribution and use, see copyright notice in Config.hpp
|
||||
|
||||
#include <Nazara/VulkanRenderer/VulkanMultipleFramebuffer.hpp>
|
||||
#include <Nazara/VulkanRenderer/VulkanWindowFramebuffer.hpp>
|
||||
#include <Nazara/VulkanRenderer/Debug.hpp>
|
||||
|
||||
namespace Nz
|
||||
{
|
||||
inline VulkanMultipleFramebuffer::VulkanMultipleFramebuffer(Vk::Framebuffer* framebuffers, std::size_t count) :
|
||||
VulkanFramebuffer(Type::Multiple)
|
||||
inline VulkanWindowFramebuffer::VulkanWindowFramebuffer(Vk::Framebuffer* framebuffers, std::size_t count) :
|
||||
VulkanFramebuffer(FramebufferType::Window)
|
||||
{
|
||||
m_framebuffers.reserve(count);
|
||||
for (std::size_t i = 0; i < count; ++i)
|
||||
m_framebuffers.push_back(std::move(framebuffers[i]));
|
||||
}
|
||||
|
||||
inline const Vk::Framebuffer& Nz::VulkanMultipleFramebuffer::GetFramebuffer(std::size_t index) const
|
||||
inline const Vk::Framebuffer& Nz::VulkanWindowFramebuffer::GetFramebuffer(std::size_t index) const
|
||||
{
|
||||
assert(index < m_framebuffers.size());
|
||||
return m_framebuffers[index];
|
||||
}
|
||||
|
||||
inline std::size_t VulkanMultipleFramebuffer::GetFramebufferCount() const
|
||||
inline std::size_t VulkanWindowFramebuffer::GetFramebufferCount() const
|
||||
{
|
||||
return m_framebuffers.size();
|
||||
}
|
||||
|
|
@ -144,7 +144,7 @@ namespace Nz
|
|||
|
||||
StackVector<GLenum> invalidateAttachments = NazaraStackVector(GLenum, colorBufferCount + 1);
|
||||
|
||||
if (command.framebuffer->GetType() == OpenGLFramebuffer::Type::FBO)
|
||||
if (command.framebuffer->GetType() == FramebufferType::Texture)
|
||||
{
|
||||
context->glDrawBuffers(GLsizei(colorBufferCount), fboDrawBuffers.data());
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
namespace Nz
|
||||
{
|
||||
OpenGLFboFramebuffer::OpenGLFboFramebuffer(OpenGLDevice& device, const std::vector<std::shared_ptr<Texture>>& attachments) :
|
||||
OpenGLFramebuffer(OpenGLFramebuffer::Type::FBO)
|
||||
OpenGLFramebuffer(FramebufferType::Texture)
|
||||
{
|
||||
if (!m_framebuffer.Create(device))
|
||||
throw std::runtime_error("failed to create framebuffer object");
|
||||
|
|
|
|||
|
|
@ -5,11 +5,11 @@
|
|||
#include <Nazara/VulkanRenderer/VulkanCommandBufferBuilder.hpp>
|
||||
#include <Nazara/Core/StackArray.hpp>
|
||||
#include <Nazara/VulkanRenderer/VulkanBuffer.hpp>
|
||||
#include <Nazara/VulkanRenderer/VulkanMultipleFramebuffer.hpp>
|
||||
#include <Nazara/VulkanRenderer/VulkanWindowFramebuffer.hpp>
|
||||
#include <Nazara/VulkanRenderer/VulkanRenderPass.hpp>
|
||||
#include <Nazara/VulkanRenderer/VulkanRenderPipeline.hpp>
|
||||
#include <Nazara/VulkanRenderer/VulkanRenderPipelineLayout.hpp>
|
||||
#include <Nazara/VulkanRenderer/VulkanSingleFramebuffer.hpp>
|
||||
#include <Nazara/VulkanRenderer/VulkanTextureFramebuffer.hpp>
|
||||
#include <Nazara/VulkanRenderer/VulkanShaderBinding.hpp>
|
||||
#include <Nazara/VulkanRenderer/VulkanTexture.hpp>
|
||||
#include <Nazara/VulkanRenderer/VulkanUploadPool.hpp>
|
||||
|
|
@ -33,21 +33,20 @@ namespace Nz
|
|||
|
||||
const Vk::Framebuffer& vkFramebuffer = [&] () -> const Vk::Framebuffer&
|
||||
{
|
||||
const VulkanFramebuffer& vkFramebuffer = static_cast<const VulkanFramebuffer&>(framebuffer);
|
||||
switch (vkFramebuffer.GetType())
|
||||
switch (framebuffer.GetType())
|
||||
{
|
||||
case VulkanFramebuffer::Type::Multiple:
|
||||
case FramebufferType::Texture:
|
||||
return static_cast<const VulkanTextureFramebuffer&>(framebuffer).GetFramebuffer();
|
||||
|
||||
case FramebufferType::Window:
|
||||
{
|
||||
const VulkanMultipleFramebuffer& vkMultipleFramebuffer = static_cast<const VulkanMultipleFramebuffer&>(vkFramebuffer);
|
||||
const VulkanWindowFramebuffer& vkMultipleFramebuffer = static_cast<const VulkanWindowFramebuffer&>(framebuffer);
|
||||
m_framebufferCount = std::max(m_framebufferCount, vkMultipleFramebuffer.GetFramebufferCount());
|
||||
return vkMultipleFramebuffer.GetFramebuffer(m_imageIndex);
|
||||
}
|
||||
|
||||
case VulkanFramebuffer::Type::Single:
|
||||
return static_cast<const VulkanSingleFramebuffer&>(vkFramebuffer).GetFramebuffer();
|
||||
}
|
||||
|
||||
throw std::runtime_error("Unhandled framebuffer type " + std::to_string(UnderlyingCast(vkFramebuffer.GetType())));
|
||||
throw std::runtime_error("Unhandled framebuffer type " + std::to_string(UnderlyingCast(framebuffer.GetType())));
|
||||
}();
|
||||
|
||||
std::size_t attachmentCount = vkRenderPass.GetAttachmentCount();
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@
|
|||
#include <Nazara/VulkanRenderer/VulkanRenderPipeline.hpp>
|
||||
#include <Nazara/VulkanRenderer/VulkanRenderPipelineLayout.hpp>
|
||||
#include <Nazara/VulkanRenderer/VulkanShaderModule.hpp>
|
||||
#include <Nazara/VulkanRenderer/VulkanSingleFramebuffer.hpp>
|
||||
#include <Nazara/VulkanRenderer/VulkanTexture.hpp>
|
||||
#include <Nazara/VulkanRenderer/VulkanTextureFramebuffer.hpp>
|
||||
#include <Nazara/VulkanRenderer/VulkanTextureSampler.hpp>
|
||||
#include <Nazara/VulkanRenderer/Debug.hpp>
|
||||
|
||||
|
|
@ -34,7 +34,7 @@ namespace Nz
|
|||
|
||||
std::shared_ptr<Framebuffer> VulkanDevice::InstantiateFramebuffer(unsigned int width, unsigned int height, const std::shared_ptr<RenderPass>& renderPass, const std::vector<std::shared_ptr<Texture>>& attachments)
|
||||
{
|
||||
return std::make_shared<VulkanSingleFramebuffer>(*this, width, height, renderPass, attachments);
|
||||
return std::make_shared<VulkanTextureFramebuffer>(*this, width, height, renderPass, attachments);
|
||||
}
|
||||
|
||||
std::shared_ptr<RenderPass> VulkanDevice::InstantiateRenderPass(std::vector<RenderPass::Attachment> attachments, std::vector<RenderPass::SubpassDescription> subpassDescriptions, std::vector<RenderPass::SubpassDependency> subpassDependencies)
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
// This file is part of the "Nazara Engine - Vulkan Renderer"
|
||||
// For conditions of distribution and use, see copyright notice in Config.hpp
|
||||
|
||||
#include <Nazara/VulkanRenderer/VulkanSingleFramebuffer.hpp>
|
||||
#include <Nazara/VulkanRenderer/VulkanTextureFramebuffer.hpp>
|
||||
#include <Nazara/Core/StackArray.hpp>
|
||||
#include <Nazara/VulkanRenderer/VulkanRenderPass.hpp>
|
||||
#include <Nazara/VulkanRenderer/VulkanTexture.hpp>
|
||||
|
|
@ -11,8 +11,8 @@
|
|||
|
||||
namespace Nz
|
||||
{
|
||||
VulkanSingleFramebuffer::VulkanSingleFramebuffer(Vk::Device& device, unsigned int width, unsigned int height, const std::shared_ptr<RenderPass>& renderPass, const std::vector<std::shared_ptr<Texture>>& attachments) :
|
||||
VulkanFramebuffer(Type::Single)
|
||||
VulkanTextureFramebuffer::VulkanTextureFramebuffer(Vk::Device& device, unsigned int width, unsigned int height, const std::shared_ptr<RenderPass>& renderPass, const std::vector<std::shared_ptr<Texture>>& attachments) :
|
||||
VulkanFramebuffer(FramebufferType::Texture)
|
||||
{
|
||||
assert(renderPass);
|
||||
const VulkanRenderPass& vkRenderPass = static_cast<const VulkanRenderPass&>(*renderPass);
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
// This file is part of the "Nazara Engine - Vulkan Renderer"
|
||||
// For conditions of distribution and use, see copyright notice in Config.hpp
|
||||
|
||||
#include <Nazara/VulkanRenderer/VulkanMultipleFramebuffer.hpp>
|
||||
#include <Nazara/VulkanRenderer/VulkanWindowFramebuffer.hpp>
|
||||
#include <Nazara/VulkanRenderer/Debug.hpp>
|
||||
|
||||
namespace Nz
|
||||
Loading…
Reference in New Issue