Material.h

gehe zur Dokumentation dieser Datei
00001 #ifndef MATERIAL_H_
00002 #define MATERIAL_H_
00003 #include <iostream>
00004 #include <cstdlib>
00005 #include <GL/glut.h>
00006 #include "Textures.h"
00007 #include "Vector.h"
00008 using std::cout;
00009 #define material new Material
00010 
00016 class Material {
00017 private:
00021         static Material* defaultMat;
00022 
00026         static Material* fishMat;
00027 
00031         static Material* lastUsed;
00032 
00036         static bool enabled;
00037 
00041         Color* diffuseColor;
00042 
00046         Color* ambientColor;
00047 
00051         Color* emissiveColor;
00052 
00056         Color* specularColor;
00057 
00061         double shininess;
00062 
00066         int texture;
00067 
00071         static Material* createDefaultMaterial();
00072 
00076         static Material* createFishMaterial();
00077 
00078 public:
00083         Material();
00084 
00088         static Material* getDefaultMaterial();
00089 
00093         static Material* getFishMaterial();
00094 
00098         static void setEnabled(bool enabled);
00099 
00103         Color* getAmbientColor();
00104 
00108         Color* getDiffuseColor();
00109 
00113         Color* getEmissiveColor();
00114 
00118         virtual void setDiffuseColor(Color* c);
00119 
00123         virtual void setAmbientColor(Color* c);
00124 
00128         virtual void setEmissiveColor(Color* c);
00129 
00133         virtual void setspecularColor(Color* c);
00134 
00138         virtual void setShininess(double d);
00139 
00143         virtual void setTexture(int t);
00144 
00148         virtual void select();
00149 
00153         virtual ~Material();
00154 };
00155 
00156 #endif /*MATERIAL_H_*/

Erzeugt am Sun Jun 10 13:47:51 2007 für Fishtank von  doxygen 1.5.2