Files
fishtanks/src/Texture.cpp
T
2014-04-28 19:51:13 +02:00

35 lines
698 B
C++
Executable File

#include "PrecompiledHeader.h"
#include "Texture.h"
Texture::Texture(std::string path)
{
Load(path);
}
void Texture::Load(std::string path)
{
auto cachedTexture = m_TextureCache.find(path);
if (cachedTexture == m_TextureCache.end())
{
m_TextureCache[path] = SOIL_load_OGL_texture(path.c_str(), 0, 0, SOIL_FLAG_INVERT_Y);
}
m_Texture = m_TextureCache[path];
glBindTexture(GL_TEXTURE_2D, m_Texture);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
}
void Texture::Bind()
{
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, m_Texture);
}
Texture::~Texture()
{
glDeleteTextures(1, &m_Texture);
}