Hauptseite   Übersicht   Auflistung der Dateien   Datenstruktur-Elemente   Datei-Elemente  

Texture.h

gehe zur Dokumentation dieser Datei
00001 #ifndef __Texture_h_
00002 #define __Texture_h_
00003 
00004 class CTexture;
00005 
00006 #include <stdio.h>
00007 #include <stdlib.h>
00008 #include <string.h>
00009 #include <windows.h>
00010 #include <GL/gl.h>
00011 #include <GL/glu.h>
00012 
00013 // PCX Image File
00014 typedef struct tagPCXHEADER
00015 {
00016         char Manufacturer;  // always 0X0A
00017         char Version;  // version number
00018         char Encoding;  // always 1
00019         char BitsPerPixel;  // color bits
00020         WORD Xmin, Ymin;  // image origin
00021         WORD Xmax, Ymax;  // image dimensions
00022         WORD Hres, Vres;  // resolution values
00023         BYTE ColorMap[16][3];  // color palette
00024         char Reserved;
00025         char ColorPlanes;  // color planes
00026         WORD BytesPerLine;  // line buffer size
00027         WORD PaletteType;  // grey or color palette
00028         char Filter[58];
00029 } *LPPCXHEADER;
00030 
00031 #define PCX_MAGIC                       0X0A                    // PCX magic number
00032 #define PCX_256_COLORS          0X0C                    // magic number for 256 colors
00033 #define PCX_HDR_SIZE            128                             // size of PCX header
00034 #define PCX_MAXCOLORS           256
00035 #define PCX_MAXPLANES           4
00036 #define PCX_MAXVAL                      255
00037 
00038 #define MAX_TEXTURE_NAME_LENGTH 64
00039 
00040 class CTexture
00041 {
00042 public:
00043 
00044         CTexture();
00045         ~CTexture();
00046 
00047         // Create and load the files.
00048         bool LoadBMP (char *szFileName, bool mipmap);
00049         bool LoadBMP (char *szFileName);
00050         bool LoadPCX (BYTE *data, bool mipmap);
00051         bool LoadPCX (BYTE *data);
00052         bool LoadRAW (char *szFileName);
00053         void Free ();
00054         void Use ();
00055 
00056         int getWidth();
00057         int getHeight();
00058 
00059 private:
00060 
00061         // Generates the nesessary internal data.
00062         bool Create (bool mipmap);
00063 
00064         // PCX helper functions
00065         bool PCX_PlanesToPixels(BYTE *pixels, BYTE *bitplanes, short bytesperline, short planes, short bitsperpixel);
00066         bool PCX_UnpackPixels(BYTE *pixels, BYTE *bitplanes, short bytesperline, short planes, short bitsperpixel);
00067 
00068         // Status information.
00069         unsigned int m_nID;
00070         int m_nWidth, m_nHeight, m_nBits;
00071 };
00072 
00073 #endif

Erzeugt am Sat Jan 26 05:53:28 2002 für Spotnoise 3D von doxygen1.2.13.1 geschrieben von Dimitri van Heesch, © 1997-2001