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