00001 #pragma once 00002 00003 #define GLUT_DISABLE_ATEXIT_HACK 00004 #include "png.h" 00005 #include "zlib.h" 00006 #include <cstdlib> 00007 #include <gl/glut.h> 00008 #include <cstdio> 00009 #include <string> 00010 #include <vector> 00011 00012 using namespace std; 00013 00014 #define GL_CLAMP_TO_EDGE 0x812F 00015 const unsigned int HEADER = 8; 00016 00017 00018 class Texture 00019 { 00020 public: 00021 Texture(); 00022 ~Texture(void); 00023 00024 void GenerateTexture(int fileNumber); 00025 00026 public: 00027 GLuint GetTextureID () const; 00028 00029 private: 00030 bool LoadPNG (const char* filename); 00031 00032 private: 00033 GLuint textureId; 00034 char* pngImage; 00035 00036 unsigned long textureWidth; 00037 unsigned long textureHeight; 00038 00039 std::vector<string> fileNames; 00040 };