00001 #ifndef _CARDINFO_H 00002 #define _CARDINFO_H 00003 00004 #include <stdio.h> // Header File For Standard Input/Output 00005 #include <string> 00006 #include <iostream> 00007 #include <fstream> 00008 #include <cmath> 00009 #include <cassert> 00010 00011 #include <GL/gl.h> 00012 #include <GL/glu.h> 00013 #include <GL/glext.h> 00014 00015 using namespace std; 00016 00017 #include <vector> 00018 00019 //#include "utility.h" 00020 //#include "globals.h" 00021 00022 #define NUM_CARDINFOTYPES 4 00023 namespace CARDINFOTYPE 00024 { 00025 enum TYPE 00026 { 00027 MULTITEXTURE = 0, 00028 TEXTUREUNITS = 1, 00029 ANISOTROPY = 2, 00030 MAXANISOTROPY = 3 00031 }; 00032 } 00033 00034 class CARDCAPABILITY 00035 { 00036 public: 00037 //CARDINFOTYPE::TYPE type; 00038 int data; 00039 }; 00040 00041 class CARDINFO 00042 { 00043 private: 00044 vector <CARDCAPABILITY> db; 00045 bool dbvalid; 00046 00047 void ResetDB(); 00048 bool isExtensionSupported(string extstring); 00049 00050 public: 00051 CARDINFO() {ResetDB();} 00052 void BuildCardInfo(); 00053 int GetCapability(CARDINFOTYPE::TYPE capability); 00054 void PrintCardInfo(ostream & out); 00055 }; 00056 00057 #endif
1.4.6