// $Id$
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
#include <stdio.h>
#include <iostream>
+#include <plib/sg.h>
#include <plib/ssg.h>
-#include <simgear/constants.h>
-
#include "stars.hxx"
+#ifdef _MSC_VER
+FG_USING_STD(cout);
+FG_USING_STD(endl);
+#endif
+
// Set up star rendering call backs
static int sgStarPreDraw( ssgEntity *e ) {
state->disable( GL_TEXTURE_2D );
state->enable( GL_COLOR_MATERIAL );
state->setColourMaterial( GL_AMBIENT_AND_DIFFUSE );
+ state->setMaterial( GL_EMISSION, 0, 0, 0, 1 );
+ state->setMaterial( GL_SPECULAR, 0, 0, 0, 1 );
state->enable( GL_BLEND );
state->disable( GL_ALPHA_TEST );
float *color;
// determine which star structure to draw
- if ( sun_angle > (FG_PI_2 + 10.0 * DEG_TO_RAD ) ) {
+ if ( sun_angle > (2 * SGD_PI + 10.0 * SGD_DEGREES_TO_RADIANS ) ) {
// deep night
factor = 1.0;
- cutoff = 4.2;
- } else if ( sun_angle > (FG_PI_2 + 8.8 * DEG_TO_RAD ) ) {
+ cutoff = 4.5;
+ } else if ( sun_angle > (2 * SGD_PI + 8.8 * SGD_DEGREES_TO_RADIANS ) ) {
factor = 1.0;
- cutoff = 3.6;
- } else if ( sun_angle > (FG_PI_2 + 7.5 * DEG_TO_RAD ) ) {
+ cutoff = 3.8;
+ } else if ( sun_angle > (2 * SGD_PI + 7.5 * SGD_DEGREES_TO_RADIANS ) ) {
factor = 0.95;
- cutoff = 3.0;
- } else if ( sun_angle > (FG_PI_2 + 7.0 * DEG_TO_RAD ) ) {
+ cutoff = 3.1;
+ } else if ( sun_angle > (2 * SGD_PI + 7.0 * SGD_DEGREES_TO_RADIANS ) ) {
factor = 0.9;
cutoff = 2.4;
- } else if ( sun_angle > (FG_PI_2 + 6.5 * DEG_TO_RAD ) ) {
+ } else if ( sun_angle > (2 * SGD_PI + 6.5 * SGD_DEGREES_TO_RADIANS ) ) {
factor = 0.85;
cutoff = 1.8;
- } else if ( sun_angle > (FG_PI_2 + 6.0 * DEG_TO_RAD ) ) {
+ } else if ( sun_angle > (2 * SGD_PI + 6.0 * SGD_DEGREES_TO_RADIANS ) ) {
factor = 0.8;
cutoff = 1.2;
- } else if ( sun_angle > (FG_PI_2 + 5.5 * DEG_TO_RAD ) ) {
+ } else if ( sun_angle > (2 * SGD_PI + 5.5 * SGD_DEGREES_TO_RADIANS ) ) {
factor = 0.75;
cutoff = 0.6;
} else {
// color (magnitude)
mag = star_data[i][2];
if ( mag < cutoff ) {
- nmag = ( 4 - mag ) / 5.0; // translate to 0 ... 1.0 scale
- alpha = nmag * 0.7 + 0.3; // translate to a 0.3 ... 1.0 scale
+ nmag = ( 4.5 - mag ) / 5.5; // translate to 0 ... 1.0 scale
+ // alpha = nmag * 0.7 + 0.3; // translate to a 0.3 ... 1.0 scale
+ alpha = nmag * 0.85 + 0.15; // translate to a 0.15 ... 1.0 scale
alpha *= factor; // dim when the sun is brighter
} else {
alpha = 0.0;