]> git.mxchange.org Git - simgear.git/blobdiff - simgear/sky/moon.cxx
Updates to cloud code to add different basic cloud types. This isn't the
[simgear.git] / simgear / sky / moon.cxx
index 547519917805440f95713bda1ec62298168ba279..322a7321bdfe0217276a417fa2984560ad907425 100644 (file)
@@ -46,9 +46,6 @@ static int sgMoonOrbPreDraw( ssgEntity *e ) {
     glDisable( GL_DEPTH_TEST );
     glDisable( GL_FOG );
     glBlendFunc ( GL_SRC_ALPHA, GL_ONE ) ;
-    // sgVec4 color;
-    // sgSetVec4( color, 0.0, 0.0, 0.0, 1.0 );
-    // glMaterialfv ( GL_FRONT_AND_BACK, GL_AMBIENT, color ) ;
 
     return true;
 }
@@ -60,6 +57,14 @@ static int sgMoonOrbPostDraw( ssgEntity *e ) {
     glEnable( GL_FOG );
     glBlendFunc ( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA ) ;
 
+    /* test
+    glDisable( GL_LIGHTING );
+    glDisable( GL_CULL_FACE );
+    glEnable( GL_COLOR_MATERIAL );
+    glColorMaterial( GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE );
+    glEnable( GL_CULL_FACE );
+    glEnable( GL_LIGHTING ); */
+
     return true;
 }
 
@@ -107,8 +112,9 @@ ssgBranch * SGMoon::build( FGPath path, double moon_size ) {
     orb_state->enable( GL_TEXTURE_2D );
     orb_state->enable( GL_COLOR_MATERIAL );
     orb_state->setColourMaterial( GL_DIFFUSE );
-    orb_state->setMaterial( GL_AMBIENT, 0.0, 0.0, 0.0, 1.0 );
-    orb_state->setMaterial( GL_SPECULAR, 0.0, 0.0, 0.0, 1.0 );
+    orb_state->setMaterial( GL_AMBIENT, 0, 0, 0, 1.0 );
+    orb_state->setMaterial( GL_EMISSION, 0, 0, 0, 1 );
+    orb_state->setMaterial( GL_SPECULAR, 0, 0, 0, 1 );
     orb_state->enable( GL_BLEND );
     orb_state->enable( GL_ALPHA_TEST );
     orb_state->setAlphaClamp( 0.01 );
@@ -142,8 +148,8 @@ ssgBranch * SGMoon::build( FGPath path, double moon_size ) {
     halo_state->disable( GL_COLOR_MATERIAL );
     halo_state->setColourMaterial( GL_AMBIENT_AND_DIFFUSE );
     halo_state->setMaterial ( GL_AMBIENT_AND_DIFFUSE, 1, 1, 1, 1 ) ;
-    halo_state -> setMaterial ( GL_EMISSION, 0, 0, 0, 1 ) ;
-    halo_state -> setMaterial ( GL_SPECULAR, 0, 0, 0, 1 ) ;
+    halo_state->setMaterial ( GL_EMISSION, 0, 0, 0, 1 ) ;
+    halo_state->setMaterial ( GL_SPECULAR, 0, 0, 0, 1 ) ;
     // halo_state -> setShininess ( 0 ) ;
     halo_state->enable( GL_ALPHA_TEST );
     halo_state->setAlphaClamp(0.01);
@@ -214,7 +220,10 @@ bool SGMoon::repaint( double moon_angle ) {
                   (ambient * 11.0) - 3.0, // minimum value = 0.3
                   (ambient * 12.0) - 3.6, // minimum value = 0.0
                   0.5 );
-    
+
+       // temp test, forces the color to always be white
+       // sgSetVec4( color, 1.0, 1.0, 1.0, 1.0 );
+
        if (color[0] > 1.0) color[0] = 1.0;
        if (color[1] > 1.0) color[1] = 1.0;
        if (color[2] > 1.0) color[2] = 1.0;
@@ -256,8 +265,8 @@ bool SGMoon::reposition( sgVec3 p, double angle,
     sgSetVec3( axis, 1.0, 0.0, 0.0 );
     sgMakeRotMat4( DEC, declination * RAD_TO_DEG, axis );
 
-    // xglTranslatef(0,60000,0);
-    sgSetVec3( v, 0.0, 60000.0, 0.0 );
+    // xglTranslatef(0,moon_dist);
+    sgSetVec3( v, 0.0, moon_dist, 0.0 );
     sgMakeTransMat4( T2, v );
 
     sgMat4 TRANSFORM;
@@ -274,3 +283,4 @@ bool SGMoon::reposition( sgVec3 p, double angle,
 
     return true;
 }
+