Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#ifndef ATMOSPHERE_H
#define ATMOSPHERE_H
#ifndef ATMOSPHERE_EXTERN
#define ATMOSPHERE_EXTERN extern
#endif
#include "Color.h"
#include "Point.h"
const int weather_max_name = 64; class Weather { public: Weather(); Weather(const char *n, GLfloat fd, GLfloat fs = 1, Color fc = white, Color s1 = blue, Color s2 = white, GLfloat sb = 1, GLenum ls = GL_LIGHT0, GLenum la = GL_LIGHT1); ~Weather();
Weather operator=(Weather a);
/* The sun position is used to determine how light / dark it is */ void apply(Point sun); void draw_sky(Point sun);
/* This is how much to blur shadows due to haze or fog */ GLfloat shadow_blur();
char name[weather_max_name];
GLfloat fog_density; Color fog_color; /* Fog spread relates the height to the density of the fog -- 1.0
* leads to uniform fog */ GLfloat fog_spread;
Color sky_top; Color sky_bottom;
GLenum light_sun, light_ambient; GLfloat sun_brightness;
private: }; const int nweathers = 4; extern Weather weathers[nweathers]; const int def_weather_index = 0;
#undef ATMOSPHERE_EXTERN
#endif
|