summaryrefslogtreecommitdiff
path: root/engine-ocean/Graphics/GLWrappers/texture.h
diff options
context:
space:
mode:
Diffstat (limited to 'engine-ocean/Graphics/GLWrappers/texture.h')
-rw-r--r--engine-ocean/Graphics/GLWrappers/texture.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/engine-ocean/Graphics/GLWrappers/texture.h b/engine-ocean/Graphics/GLWrappers/texture.h
new file mode 100644
index 0000000..3ad2f13
--- /dev/null
+++ b/engine-ocean/Graphics/GLWrappers/texture.h
@@ -0,0 +1,31 @@
+#pragma once
+
+#include "GL/glew.h"
+#include <string>
+
+#include "glm/glm.hpp"
+
+class Texture
+{
+public:
+ Texture(int width, int height, GLenum texUnit = GL_TEXTURE0, GLint internalFormat = GL_RGBA, GLenum texTarget = GL_TEXTURE_2D);
+ Texture(std::string filePath, GLenum texUnit = GL_TEXTURE0, GLint internalFormat = GL_RGBA, GLenum texTarget = GL_TEXTURE_2D);
+ ~Texture();
+
+ void bind();
+ void bind(GLenum texUnit);
+ void unbind();
+ void unbind(GLenum texUnit);
+ GLuint getHandle();
+ GLuint getTexUnitUint();
+ GLenum getTexUnitEnum();
+ int getWidth();
+ int getHeight();
+
+private:
+ GLuint m_handle;
+ GLenum m_texUnit;
+ GLenum m_texTarget;
+ int m_width;
+ int m_height;
+};