diff options
author | dec05eba <dec05eba@protonmail.com> | 2019-11-04 00:50:45 +0100 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2021-11-18 15:21:48 +0100 |
commit | 23a37b2cdd8ffde8bb85a4159888bf3a7ec35966 (patch) | |
tree | 83db7b81936621b6a2435e9b5db0de18496cd12f /include/RenderBackend/OpenGL/DeviceMemory.hpp | |
parent | fbd2e5d9a802db4fb5e056705ec599ac423e09be (diff) |
Use external shaders instead of generating shader code from c++ code...
Diffstat (limited to 'include/RenderBackend/OpenGL/DeviceMemory.hpp')
-rw-r--r-- | include/RenderBackend/OpenGL/DeviceMemory.hpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/include/RenderBackend/OpenGL/DeviceMemory.hpp b/include/RenderBackend/OpenGL/DeviceMemory.hpp index c37acfb..c9c8b23 100644 --- a/include/RenderBackend/OpenGL/DeviceMemory.hpp +++ b/include/RenderBackend/OpenGL/DeviceMemory.hpp @@ -3,21 +3,19 @@ #include "../../DataView.hpp" #include "../../utils.hpp" #include "../../Triangle2D.hpp" -#include <stdexcept> -namespace amalgine -{ - class DeviceMemoryEmpty : public std::runtime_error - { - public: - DeviceMemoryEmpty(const std::string &errMsg) : std::runtime_error(errMsg) {} +namespace amalgine { + enum class DeviceMemoryType { + NONE, + VEC2, + VEC3 }; - + class DeviceMemory { DISABLE_COPY(DeviceMemory) friend class DeviceFrame; - friend class ShaderInputVec2; + friend class ShaderProgram; public: enum class StorageType { @@ -40,13 +38,15 @@ namespace amalgine //void copy(const DataView<f32> &data, StorageType storageType, PrimitiveType primitiveType = PrimitiveType::TRIANGLE); void copy(const DataView<Triangle2D> &triangles, StorageType storageType); void draw(); + + DeviceMemoryType get_type() const { return type; } private: DeviceMemory(); - void operator delete(void *data); void use() const; private: u32 vertexBufferObjectId; u32 primitiveType; u32 numVertices; + DeviceMemoryType type; }; } |