From a26c9b75ee6cf2527370d0f71b4b382b0b75424c Mon Sep 17 00:00:00 2001 From: curt Date: Thu, 18 Dec 1997 04:07:02 +0000 Subject: [PATCH] Worked on properly translating and positioning the sky dome. --- Main/views.c | 12 +++++++++--- Scenery/sky.c | 28 +++++++++++++++++++++------- 2 files changed, 30 insertions(+), 10 deletions(-) diff --git a/Main/views.c b/Main/views.c index c55ce750a..c71764856 100644 --- a/Main/views.c +++ b/Main/views.c @@ -52,7 +52,10 @@ void fgViewUpdate(struct fgFLIGHT *f, struct fgVIEW *v) { /* calculate the cartesion coords of the current lat/lon/0 elev */ v->cur_zero_elev = fgPolarToCart(FG_Longitude, FG_Lat_geocentric, - FG_Sea_level_radius); + FG_Sea_level_radius * FEET_TO_METER); + v->cur_zero_elev.x -= scenery.center.x; + v->cur_zero_elev.y -= scenery.center.y; + v->cur_zero_elev.z -= scenery.center.z; /* calculate view position in current FG view coordinate system */ v->view_pos = fgPolarToCart(FG_Longitude, FG_Lat_geocentric, @@ -137,9 +140,12 @@ void fgViewUpdate(struct fgFLIGHT *f, struct fgVIEW *v) { /* $Log$ -/* Revision 1.4 1997/12/17 23:13:36 curt -/* Began working on rendering a sky. +/* Revision 1.5 1997/12/18 04:07:02 curt +/* Worked on properly translating and positioning the sky dome. /* + * Revision 1.4 1997/12/17 23:13:36 curt + * Began working on rendering a sky. + * * Revision 1.3 1997/12/15 23:54:50 curt * Add xgl wrappers for debugging. * Generate terrain normals on the fly. diff --git a/Scenery/sky.c b/Scenery/sky.c index 60e51f259..046d36be0 100644 --- a/Scenery/sky.c +++ b/Scenery/sky.c @@ -42,16 +42,17 @@ #include "../Time/fg_time.h" +#include "../Aircraft/aircraft.h" +#include "../Flight/flight.h" #include "../Include/constants.h" #include "../Main/views.h" /* #include "../Include/general.h" -#include "../Aircraft/aircraft.h" */ /* in meters of course */ #define INNER_RADIUS 50000.0 -#define INNER_ELEV 20000.0 +#define INNER_ELEV 8000.0 /* was 20000 */ #define MIDDLE_RADIUS 70000.0 #define MIDDLE_ELEV 10000.0 #define OUTER_RADIUS 80000.0 @@ -110,11 +111,14 @@ void fgSkyInit() { /* Draw inner section */ xglBegin( GL_TRIANGLE_FAN ); + xglColor3f(0.0, 0.0, 1.0); xglVertex3f(0.0, 0.0, INNER_ELEV); + xglColor3f(0.2, 0.2, 1.0); for ( i = 0; i < 12; i++ ) { xglVertex3fv( sky_center[i] ); } + xglVertex3fv( sky_center[0] ); xglEnd(); @@ -124,17 +128,17 @@ void fgSkyInit() { /* Draw the Sky */ void fgSkyRender() { + struct fgFLIGHT *f; struct fgVIEW *v; /* - struct fgFLIGHT *f; struct fgLIGHT *l; struct fgTIME *t; int i; */ + f = ¤t_aircraft.flight; v = ¤t_view; /* - f = ¤t_aircraft.flight; l = &cur_light_params; t = &cur_time_params; */ @@ -151,6 +155,13 @@ void fgSkyRender() { /* Translate to view position */ xglTranslatef( v->cur_zero_elev.x, v->cur_zero_elev.y, v->cur_zero_elev.z ); + /* printf(" Translated to %.2f %.2f %.2f\n", + v->cur_zero_elev.x, v->cur_zero_elev.y, v->cur_zero_elev.z ); */ + + printf(" lon = %.2f lat = %.2f\n", FG_Longitude * RAD_TO_DEG, + FG_Latitude * RAD_TO_DEG); + xglRotatef( FG_Longitude * RAD_TO_DEG, 0.0, 0.0, 1.0 ); + xglRotatef( 90.0 - FG_Latitude * RAD_TO_DEG, 0.0, 1.0, 0.0 ); xglCallList( sky ); @@ -161,8 +172,11 @@ void fgSkyRender() { /* $Log$ -/* Revision 1.1 1997/12/17 23:14:30 curt -/* Initial revision. -/* Begin work on rendering the sky. (Rather than just using a clear screen.) +/* Revision 1.2 1997/12/18 04:07:03 curt +/* Worked on properly translating and positioning the sky dome. /* + * Revision 1.1 1997/12/17 23:14:30 curt + * Initial revision. + * Begin work on rendering the sky. (Rather than just using a clear screen.) + * */