#ifndef __TEXTURE_H
#define __TEXTURE_H
#include <iostream>
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glext.h>
#include <vector>
#include <cstring>
#include <iostream>
#include <fstream>
using namespace std;
class Texture
{
public:
void Load(string filename,bool fixEdge=false);
GLuint texID;
int width,height;
void loadFile(std::vector<unsigned char>& buffer, const std::string& filename);
void loadFile2(std::vector<unsigned char>& buffer, const std::string& filename);
int decodePNG(std::vector<unsigned char>& out_image, unsigned long& image_width, unsigned long& image_height, const unsigned char* in_png, size_t in_size, bool convert_to_rgba32 = true);
private:
};
#endif
I2lmbmRlZiBfX1RFWFRVUkVfSAojZGVmaW5lIF9fVEVYVFVSRV9ICiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPEdML2dsLmg+CiNpbmNsdWRlIDxHTC9nbHUuaD4KI2luY2x1ZGUgPEdML2dsZXh0Lmg+CgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8Y3N0cmluZz4KCiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPGZzdHJlYW0+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgVGV4dHVyZQp7CglwdWJsaWM6CgkJdm9pZCBMb2FkKHN0cmluZyBmaWxlbmFtZSxib29sIGZpeEVkZ2U9ZmFsc2UpOwoJCUdMdWludCB0ZXhJRDsKCQlpbnQgd2lkdGgsaGVpZ2h0OwoKCQl2b2lkIGxvYWRGaWxlKHN0ZDo6dmVjdG9yPHVuc2lnbmVkIGNoYXI+JiBidWZmZXIsIGNvbnN0IHN0ZDo6c3RyaW5nJiBmaWxlbmFtZSk7CgkJdm9pZCBsb2FkRmlsZTIoc3RkOjp2ZWN0b3I8dW5zaWduZWQgY2hhcj4mIGJ1ZmZlciwgY29uc3Qgc3RkOjpzdHJpbmcmIGZpbGVuYW1lKTsKCQlpbnQgZGVjb2RlUE5HKHN0ZDo6dmVjdG9yPHVuc2lnbmVkIGNoYXI+JiBvdXRfaW1hZ2UsIHVuc2lnbmVkIGxvbmcmIGltYWdlX3dpZHRoLCB1bnNpZ25lZCBsb25nJiBpbWFnZV9oZWlnaHQsIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluX3BuZywgc2l6ZV90IGluX3NpemUsIGJvb2wgY29udmVydF90b19yZ2JhMzIgPSB0cnVlKTsKCXByaXZhdGU6Cn07CiNlbmRpZg==