Files
vb01/texture.h
T
2021-10-19 19:06:40 +03:00

37 lines
796 B
C++
Executable File

#ifndef TEXTURE_H
#define TEXTURE_H
#include<string>
#include<ft2build.h>
#include"util.h"
#include FT_FREETYPE_H
namespace vb01{
class Texture{
public:
enum TextureType{TEXTURE_2D,TEXTURE_CUBEMAP};
~Texture();
Texture(int,int,bool=true);
Texture(std::string[],int,int=0,bool=false);
Texture(std::string[6],bool=false);
Texture(int);
Texture(FT_Face&,char);
void select(int=0);
void update();
inline unsigned int* getTexture(int i=0){return &(texture[i]);}
inline std::string getPath(){return path;}
private:
TextureType type=TextureType::TEXTURE_2D;
u32 *texture=nullptr;
s32 updateRate=0,numFrames=0,frame=0;
s64 lastUpdateTime=0;
int width,height,numChannels;
float weight;
u8 *data;
std::string path="",paths[6];
};
}
#endif