From c4edf54297e09fbcf5f561e55ff60b95accbfa83 Mon Sep 17 00:00:00 2001 From: Lynix Date: Sat, 16 Sep 2017 10:36:41 +0200 Subject: [PATCH] Vulkan/RenderBuffer: WIP --- include/Nazara/Renderer/RenderBuffer.hpp | 39 ++++++++++++++++++++++++ include/Nazara/Renderer/RenderBuffer.inl | 12 ++++++++ src/Nazara/Renderer/RenderBuffer.cpp | 20 ++++++++++++ 3 files changed, 71 insertions(+) create mode 100644 include/Nazara/Renderer/RenderBuffer.hpp create mode 100644 include/Nazara/Renderer/RenderBuffer.inl create mode 100644 src/Nazara/Renderer/RenderBuffer.cpp diff --git a/include/Nazara/Renderer/RenderBuffer.hpp b/include/Nazara/Renderer/RenderBuffer.hpp new file mode 100644 index 000000000..ac1c8391d --- /dev/null +++ b/include/Nazara/Renderer/RenderBuffer.hpp @@ -0,0 +1,39 @@ +// Copyright (C) 2017 Jérôme Leclercq +// This file is part of the "Nazara Engine - Utility module" +// For conditions of distribution and use, see copyright notice in Config.hpp + +#pragma once + +#ifndef NAZARA_RENDERBUFFER_HPP +#define NAZARA_RENDERBUFFER_HPP + +#include +#include +#include + +namespace Nz +{ + class NAZARA_RENDERER_API RenderBuffer : public AbstractBuffer + { + public: + RenderBuffer() = default; + ~RenderBuffer() = default; + + virtual bool Fill(const void* data, UInt32 offset, UInt32 size) = 0; + + bool Initialize(UInt32 size, BufferUsageFlags usage) override; + + DataStorage GetStorage() const override; + + virtual void* Map(BufferAccess access, UInt32 offset = 0, UInt32 size = 0) = 0; + virtual bool Unmap() = 0; + + private: + SoftwareBuffer m_softwareBuffer; + }; + +} + +#include + +#endif // NAZARA_RENDERBUFFER_HPP diff --git a/include/Nazara/Renderer/RenderBuffer.inl b/include/Nazara/Renderer/RenderBuffer.inl new file mode 100644 index 000000000..6a207825e --- /dev/null +++ b/include/Nazara/Renderer/RenderBuffer.inl @@ -0,0 +1,12 @@ +// Copyright (C) 2017 Jérôme Leclercq +// This file is part of the "Nazara Engine - Utility module" +// For conditions of distribution and use, see copyright notice in Config.hpp + +#include +#include + +namespace Nz +{ +} + +#include diff --git a/src/Nazara/Renderer/RenderBuffer.cpp b/src/Nazara/Renderer/RenderBuffer.cpp new file mode 100644 index 000000000..d0338112a --- /dev/null +++ b/src/Nazara/Renderer/RenderBuffer.cpp @@ -0,0 +1,20 @@ +// Copyright (C) 2015 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 + +#include +#include + +namespace Nz +{ + bool RenderBuffer::Initialize(UInt32 size, BufferUsageFlags usage) + { + m_softwareBuffer.Initialize(size, usage); + return true; + } + + DataStorage Nz::RenderBuffer::GetStorage() const + { + return DataStorage::DataStorage_Hardware; + } +}