#ifndef TEXTURE_H #define TEXTURE_H #include #include class Image; class Texture { private: GLuint texId; GLenum target; void initPixels(Image* myImage, GLenum textureSlot); public: // creates a 2D texture from perlin noise Texture(); // creates an empty 2D texture Texture(GLenum format = GL_RGBA, GLenum internal_format = GL_RGBA, int width = 512, int height = 512, GLenum dataType = GL_UNSIGNED_BYTE, GLenum texTarget = GL_TEXTURE_2D); // creates a standard texture from an image Texture(Image* myImage); // creates a cubeMap from 6 images Texture(Image* myCubemapImages[6]); ~Texture(); void bind(int slot); GLuint getId() {return texId;} GLenum getTarget() {return target;} void setWrap(GLint wrap); void setFiltering(GLint filter); }; #endif // TEXTURE_H