X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fsky%2Fsky.hxx;h=4a5b9393aa159bb6e936bd9479660f51b19a0e49;hb=f1ab6e2533a1bf07439b3d5918430f496158d8f3;hp=1e5ba3473a2288a22e8b31e50016ad2bf5af5278;hpb=e15ffbc85630ae3ae947812cf2ef59162cce7b6b;p=simgear.git diff --git a/simgear/sky/sky.hxx b/simgear/sky/sky.hxx index 1e5ba347..4a5b9393 100644 --- a/simgear/sky/sky.hxx +++ b/simgear/sky/sky.hxx @@ -5,19 +5,20 @@ // // Copyright (C) 1997-2000 Curtis L. Olson - curt@flightgear.org // -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License as -// published by the Free Software Foundation; either version 2 of the -// License, or (at your option) any later version. +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Library General Public +// License as published by the Free Software Foundation; either +// version 2 of the License, or (at your option) any later version. // -// This program is distributed in the hope that it will be useful, but -// WITHOUT ANY WARRANTY; without even the implied warranty of +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// General Public License for more details. +// Library General Public License for more details. // -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +// You should have received a copy of the GNU Library General Public +// License along with this library; if not, write to the +// Free Software Foundation, Inc., 59 Temple Place - Suite 330, +// Boston, MA 02111-1307, USA. // // $Id$ @@ -38,11 +39,11 @@ #include -#include "cloud.hxx" -#include "dome.hxx" -#include "moon.hxx" -#include "oursun.hxx" -#include "stars.hxx" +#include +#include +#include +#include +#include FG_USING_STD(vector); @@ -78,10 +79,10 @@ private: // near cloud visibility state variables bool in_puff; - double puff_length; - double puff_progression; - double ramp_up; - double ramp_down; + double puff_length; // in seconds + double puff_progression; // in seconds + double ramp_up; // in seconds + double ramp_down; // in seconds public: @@ -126,11 +127,13 @@ public: // transition range, and simulated "puffs". void modify_vis( float alt, float time_factor ); - // draw background portions of the sky - void draw_background(); + // draw background portions of the sky ... do this before you draw + // the rest of your scene. + void preDraw(); - // draw scenery elements of the sky - void draw_scene( float alt ); + // draw translucent clouds ... do this after you've drawn all the + // oapaque elements of your scene. + void postDraw( float alt ); // specify the texture path (optional, defaults to current directory) inline void texture_path( const string& path ) { @@ -151,11 +154,14 @@ public: } // add a cloud layer (above sea level in meters) - void add_cloud_layer( double asl, double thickness, double transition, + void add_cloud_layer( double asl, double thickness, + double transition, double span, SGCloudType type ); - void add_cloud_layer( double asl, double thickness, double transition, + void add_cloud_layer( double asl, double thickness, + double transition, double span, const string &tex_path ); - void add_cloud_layer( double asl, double thickness, double transition, + void add_cloud_layer( double asl, double thickness, + double transition, double span, ssgSimpleState *state ); inline int get_num_layers() const { return cloud_layers.size(); }