00001 #ifndef TEXTURES_ 00002 #define TEXTURES_ 00003 00004 #include <stdio.h> 00005 #include <windows.h> 00006 #include <GL/gl.h> 00007 #include <GL/glu.h> 00008 #include <GL/glut.h> 00009 00010 #include "PerlinNoise.h" 00011 00012 #define MAX_TEXTURES 16 00013 00014 #define T_SPACE 0 00015 #define T_PERLIN 1 00016 #define T_PERLIN2 2 00017 #define T_PERLIN3 3 00018 #define T_SKY 4 00019 00025 class Textures 00026 { 00027 public: 00031 static void Load (); 00032 00039 static GLuint GetId (int texture_id); 00040 00044 static void Release (); 00045 00046 private: 00048 Textures (); 00049 00051 static GLuint tex_id[MAX_TEXTURES]; 00052 00061 static bool LoadBMP (char * file_name, GLuint texture_id); 00062 00069 static void CreatePerlinTexture (PerlinNoise * perlin, GLuint texture_id); 00070 00083 static void CreateTexture (GLuint tex_id, int size_x, int size_y, GLubyte * raw_data); 00084 }; 00085 00086 00087 #endif