00001 /* 00008 * LEGAL: COPYRIGHT (C) 2004 JIM E. BROOKS 00009 * THIS SOURCE CODE IS RELEASED UNDER THE TERMS 00010 * OF THE GNU GENERAL PUBLIC LICENSE VERSION 2 (GPL 2). 00011 *****************************************************************************/ 00012 00013 #if COMPILING_MODULE_SIM 00014 #ifndef MOD_SIM_SKY_HH 00015 #define MOD_SIM_SKY_HH 1 00016 00017 namespace mod_sim { 00018 00025 class Sky 00026 { 00027 00028 public: 00029 CLASS_METHOD void Init( void ); 00030 CLASS_METHOD void Populate( const BoxVolume& quadrantBoxVolume ); 00031 00032 private: 00033 Sky( void ); 00034 ~Sky(); 00035 CLASS_METHOD void MakeCumulusClouds( const BoxVolume& quadrantBoxVolume, const fp cloudLayerAlt ); 00036 CLASS_METHOD void MakePyramidCumulusClouds( const BoxVolume& quadrantBoxVolume, const fp cloudLayerAlt ); 00037 CLASS_METHOD void Draw( void ); 00038 CLASS_METHOD void DrawSkyDome( void ); 00039 CLASS_METHOD void DrawSun( void ); 00040 CLASS_METHOD void DrawMoon( void ); 00041 CLASS_METHOD void DrawQuad( const EyeVertex epos, const fp w2, const RGBA color, SharedPtr<Texture> texture ); 00042 00043 private: 00044 // Pre-draw listener. 00045 struct ListenerPreDraw : public Event<SharedPtr<View> >::ListenerFunctor 00046 { 00047 void operator()( SharedPtr<View> unused ); 00048 }; 00049 friend class ListenerPreDraw; 00050 }; 00051 00052 } // namespace mod_sim 00053 00054 #endif // MOD_SIM_SKY_HH 00055 #endif // COMPILING_MODULE_SIM
Palomino 3D Engine documents generated by doxygen 1.5.3 on Fri Nov 23 11:26:13 2007