From ca92d8c90f7103db6d7cae4cef49b278d804b474 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Wed, 20 Dec 2017 20:55:05 +0100 Subject: Create shader using c++ code --- include/RenderBackend/OpenGL/DeviceMemory.hpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 include/RenderBackend/OpenGL/DeviceMemory.hpp (limited to 'include/RenderBackend/OpenGL/DeviceMemory.hpp') diff --git a/include/RenderBackend/OpenGL/DeviceMemory.hpp b/include/RenderBackend/OpenGL/DeviceMemory.hpp new file mode 100644 index 0000000..706529e --- /dev/null +++ b/include/RenderBackend/OpenGL/DeviceMemory.hpp @@ -0,0 +1,27 @@ +#pragma once + +#include "../../DataView.hpp" +#include "../../utils.hpp" + +namespace amalgine +{ + class DeviceMemory + { + DISABLE_COPY(DeviceMemory) + public: + DeviceMemory(); + + // Uploaded once, drawn many times + void copyStatic(const DataView &data); + + // Created once, changed from time to time but drawn many times more than that + void copyDynamic(const DataView &data); + + // Uploaded once, drawn once (for example data that is changed every frame) + void copyStream(const DataView &data); + private: + void copy(const DataView &data, i32 storageType); + private: + u32 vertexBufferObjectId; + }; +} -- cgit v1.2.3