diff options
Diffstat (limited to 'gfx')
| -rw-r--r-- | gfx/models/texture.cpp | 16 | ||||
| -rw-r--r-- | gfx/models/texture.h | 2 | 
2 files changed, 10 insertions, 8 deletions
diff --git a/gfx/models/texture.cpp b/gfx/models/texture.cpp index 639ae0f..efc76e1 100644 --- a/gfx/models/texture.cpp +++ b/gfx/models/texture.cpp @@ -24,24 +24,24 @@ Texture::Texture(const Image & tex, TextureOptions to) :  Texture::Texture(GLsizei width, GLsizei height, TextureOptions to) : Texture {width, height, nullptr, to} { }
 -Texture::Texture(GLsizei width, GLsizei height, const void * data, TextureOptions to)
 +Texture::Texture(GLsizei width, GLsizei height, const void * data, TextureOptions to) : type {to.type}
  {
 -	glBindTexture(GL_TEXTURE_2D, m_texture);
 +	glBindTexture(type, m_texture);
  	glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
 -	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, to.wrap);
 -	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, to.wrap);
 +	glTexParameteri(type, GL_TEXTURE_WRAP_S, to.wrap);
 +	glTexParameteri(type, GL_TEXTURE_WRAP_T, to.wrap);
 -	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, to.minFilter);
 -	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, to.magFilter);
 -	glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, data);
 +	glTexParameteri(type, GL_TEXTURE_MIN_FILTER, to.minFilter);
 +	glTexParameteri(type, GL_TEXTURE_MAG_FILTER, to.magFilter);
 +	glTexImage2D(type, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, data);
  }
  void
  Texture::bind(GLenum unit) const
  {
  	glActiveTexture(unit);
 -	glBindTexture(GL_TEXTURE_2D, m_texture);
 +	glBindTexture(type, m_texture);
  }
  void
 diff --git a/gfx/models/texture.h b/gfx/models/texture.h index cc0c07e..ffc9a4a 100644 --- a/gfx/models/texture.h +++ b/gfx/models/texture.h @@ -11,6 +11,7 @@ class Image;  struct TextureOptions {
  	GLint wrap {GL_REPEAT};
  	GLint minFilter {GL_LINEAR}, magFilter {GL_LINEAR};
 +	GLenum type {GL_TEXTURE_2D};
  };
  class Texture {
 @@ -34,4 +35,5 @@ private:  			const char * path, short tgaFormat);
  	glTexture m_texture;
 +	GLenum type;
  };
  | 
