32 lines
530 B
C++
32 lines
530 B
C++
#ifndef TEXTURE_HPP
|
|
#define TEXTURE_HPP
|
|
|
|
#include <core.hpp>
|
|
|
|
namespace oglu
|
|
{
|
|
void ActiveTexture(GLubyte index);
|
|
|
|
class OGLU_API AbstractTexture
|
|
{
|
|
public:
|
|
AbstractTexture(const AbstractTexture& other);
|
|
~AbstractTexture();
|
|
|
|
friend std::shared_ptr<AbstractTexture> OGLU_API MakeTexture(const char* filename);
|
|
|
|
void Bind();
|
|
void Unbind();
|
|
|
|
private:
|
|
AbstractTexture(const char* filename);
|
|
|
|
private:
|
|
int width, height, nrChannels;
|
|
GLuint texture;
|
|
};
|
|
|
|
typedef std::shared_ptr<AbstractTexture> Texture;
|
|
}
|
|
|
|
#endif |