From ccbc5abec63e508261b6d4bdbd5b1f780d233fc8 Mon Sep 17 00:00:00 2001 From: curt Date: Tue, 31 Jul 2007 01:21:21 +0000 Subject: [PATCH] Remove an extern SGSky *thesky reference that isn't used in the code anyway. The original code forced a dependency in SimGear back to something that is defined globaly in FlightGear, not a great strategy for a library with some "general purpose" intentions. --- simgear/scene/sky/cloudfield.cxx | 11 +++++++---- simgear/scene/sky/cloudfield.hxx | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/simgear/scene/sky/cloudfield.cxx b/simgear/scene/sky/cloudfield.cxx index 8a67926f..8d83037d 100644 --- a/simgear/scene/sky/cloudfield.cxx +++ b/simgear/scene/sky/cloudfield.cxx @@ -58,8 +58,6 @@ SG_USING_STD(vector); #include #endif -extern SGSky *thesky; - static list_of_culledCloud inViewClouds; // visibility distance for clouds in meters @@ -396,7 +394,13 @@ void SGCloudField::cullClouds(sgVec3 eyePos, sgMat4 mat) { // because no field can have an infinite size (and we don't want to reach his border) // we draw this field and adjacent fields. // adjacent fields are not real, its the same field displaced by some offset -void SGCloudField::Render(void) { +void SGCloudField::Render(float *sun_color) { + // sun_color used to depend on an extern SGSky *thesky definition + // above. However, this is bad form for a library and it's much + // more clean to just pass in the needed value. For reference, here is + // the old way that sun_color was fetched ... + // float *sun_color = thesky->get_sun_color(); + #if 0 sgVec3 eyePos; double relx, rely; @@ -437,7 +441,6 @@ void SGCloudField::Render(void) { sgScaleVec3 ( SGNewCloud::ambLight, ambient , 1.1f); // trying something else : clouds are more yellow/red at dawn/dusk // and added a bit of blue ambient - float *sun_color = thesky->get_sun_color(); sgScaleVec3 ( SGNewCloud::sunlight, sun_color , 0.4f); SGNewCloud::ambLight[2] += 0.1f; diff --git a/simgear/scene/sky/cloudfield.hxx b/simgear/scene/sky/cloudfield.hxx index 08d6c413..5016c632 100644 --- a/simgear/scene/sky/cloudfield.hxx +++ b/simgear/scene/sky/cloudfield.hxx @@ -94,7 +94,7 @@ public: void buildTestLayer(void); // Render a cloud field - void Render(void); + void Render( float *sun_color ); // reposition the cloud layer at the specified origin and orientation void reposition( sgVec3 p, sgVec3 up, double lon, double lat, double alt, double dt, float direction, float speed); -- 2.39.2