00001
00012 #ifndef _CBACKGROUND_H
00013 #define _CBACKGROUND_H
00014
00015 #include <map>
00016 #include <list>
00017 #include "cWorld.h"
00018 #include "cParticle.h"
00019
00020 class cBackground;
00021 class cDomeBackground;
00022
00027 class cBackground {
00028 public:
00029
00033 virtual void drawBackground(float hour) {
00034 };
00035 };
00036
00041 class cDomeBackground : public cBackground {
00042 public:
00043 float hour;
00044 std::map<int, unsigned int> textures;
00045 float topColor[3];
00046 float middleColor[3];
00047 float bottomColor[3];
00048 std::list<cParticle*> rain;
00049 int seed;
00050 float heightshift;
00051 public:
00052 cDomeBackground();
00053 void drawBackground(float hour = 12.00f);
00054 void drawGalaxy();
00055 void drawUpperDome();
00056 void drawLowerDome();
00057 void drawGround();
00058 void drawClouds();
00059 void drawMountains();
00060 void drawSun();
00061 void drawOrbit();
00062 void drawRain();
00063 };
00064
00065 #endif
00066