#ifndef TEXTURE_DF654GH65D4FH456H4456FG4JH56G4F
#define TEXTURE_DF654GH65D4FH456H4456FG4JH56G4F

#include <GL/glew.h>
#include <iostream>
using namespace std;

#define uint unsigned int

class OglTex {
public:
	OglTex();
	void init();
	void init( GLvoid* data, uint wi, uint he );
	void bind();
	GLuint getId() { return id; }

	GLenum format, type, intFormat, minFilter, magFilter, compMode;
	bool clampBorder; float color[4];
protected:
	GLuint id;
};

class OglTexTarget : public OglTex {
public:
	void init(uint wi, uint he, uint depth = 0);
};

class OglTexImage : public OglTexTarget {
public:
	void init(uint wi, uint he, uint i, uint depth = 0);
	void bind(uint i);
};

#endif