static int sgSkyDomePreDraw( ssgEntity *e ) {
/* cout << endl << "Dome Pre Draw" << endl << "----------------"
<< endl << endl; */
+
+ ssgLeaf *f = (ssgLeaf *)e;
+ if ( f -> hasState () ) f->getState()->apply() ;
+
+ glPushAttrib( GL_DEPTH_BUFFER_BIT | GL_FOG_BIT );
+ // cout << "push error = " << glGetError() << endl;
+
glDisable( GL_DEPTH_TEST );
glDisable( GL_FOG );
static int sgSkyDomePostDraw( ssgEntity *e ) {
/* cout << endl << "Dome Post Draw" << endl << "----------------"
<< endl << endl; */
- glEnable( GL_DEPTH_TEST );
- glEnable( GL_FOG );
+ glPopAttrib();
+ // cout << "pop error = " << glGetError() << endl;
+
return true;
}
// Rotate to proper orientation
// printf(" lon = %.2f lat = %.2f\n",
- // FG_Longitude * SGD_RADIANS_TO_DEGREES,
- // FG_Latitude * SGD_RADIANS_TO_DEGREES);
- // xglRotatef( f->get_Longitude() * SGD_RADIANS_TO_DEGREES, 0.0, 0.0, 1.0 );
+ // lon * SGD_RADIANS_TO_DEGREES,
+ // lat * SGD_RADIANS_TO_DEGREES);
+ // xglRotatef( lon * SGD_RADIANS_TO_DEGREES, 0.0, 0.0, 1.0 );
sgSetVec3( axis, 0.0, 0.0, 1.0 );
sgMakeRotMat4( LON, lon * SGD_RADIANS_TO_DEGREES, axis );