aboutsummaryrefslogtreecommitdiff
path: root/include/RenderBackend/OpenGL/DeviceMemory.hpp
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2019-11-04 00:50:45 +0100
committerdec05eba <dec05eba@protonmail.com>2021-11-18 15:21:48 +0100
commit23a37b2cdd8ffde8bb85a4159888bf3a7ec35966 (patch)
tree83db7b81936621b6a2435e9b5db0de18496cd12f /include/RenderBackend/OpenGL/DeviceMemory.hpp
parentfbd2e5d9a802db4fb5e056705ec599ac423e09be (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.hpp20
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;
};
}