Page principale | Liste des namespaces | Hiérarchie des classes | Liste par ordre alphabétique | Liste des composants | Liste des fichiers | Membres des namespaces | Composants | Déclarations

ExManagerFog.h

Aller à la documentation de ce fichier.
00001 /************************************************************************/
00002 /* Ex Nihlo Engine by Hermanns Christophe                                                               */
00003 /************************************************************************/
00004 /* This program is free software; you can redistribute it and/or                */
00005 /* modify it under the terms of the GNU General Public License                  */
00006 /* as published by the Free Software Foundation; either version 2               */
00007 /* of the License, or (at your option) any later version.                               */
00008 /*                                                                                                                                              */
00009 /* This program is distributed in the hope that it will be useful,              */
00010 /* but WITHOUT ANY WARRANTY; without even the implied warranty of               */
00011 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                                 */
00012 /*                                                                                                                                              */
00013 /* See the GNU General Public License for more details.                                 */
00014 /*                                                                                                                                              */
00015 /* You should have received a copy of the GNU General Public License    */
00016 /* along with this program; if not, write to the Free Software                  */
00017 /* Foundation, Inc., 59 Temple Place - Suite 330,                                               */
00018 /* Boston, MA  02111-1307, USA.                                                                                 */
00019 /*                                                                                                                                              */
00020 /* If you use a important part of this code please send me a mail               */
00021 /* I just want to see where my code go thks :)                                                  */
00022 /************************************************************************/
00023 
00024 /************************************************************************/
00025 /* Contact                                                              */  
00026 /************************************************************************/
00027 /* ExNihilo Website :www.ploksoftware.org                               */
00028 /*                                                                      */
00029 /* Hermanns Christophe ExNihilo creator and main programmer             */
00030 /*                                                                      */
00031 /* Mail             : Data@ploksoftware.org                                                             */
00032 /* ICQ              : 8030901                                                                                   */
00033 /* MSN Messenger    : Data_7@hotmail.com                                                                */
00034 /*                                                                      */
00035 /*                                                                      */
00036 /************************************************************************/
00037 
00038 /************************************************************************/
00039 /* File Description                                                                                             */
00040 /************************************************************************/
00041 /* File Name   :ExManagerFog.h                                                                                  */
00042 /*                                                                                                                                              */
00043 /* Star Date   :03/15/2002                                                                                              */
00044 /*                                                                                                                                              */
00045 /* Last Update :06/20/2003                                              */
00046 /*                                                                                                                                              */
00047 /* File Description :                                                                                                   */
00048 /*                                                                      */
00049 /* For update of this file check : www.ploksoftware.org                 */
00050 /************************************************************************/
00051 
00052 #ifndef __EXMANAGERFOG_H__
00053 #define __EXMANAGERFOG_H__
00054 //------------------------------------------------------------------------
00055 //Includes
00056 //------------------------------------------------------------------------
00057 #include "ExDefine.h"
00058 #include "ExNihiloNameSpace.h"
00059 //------------------------------------------------------------------------
00060 #include "Math/ExMath.h"
00061 //------------------------------------------------------------------------
00062 #include "Manager/ExManager.h"
00063 //------------------------------------------------------------------------
00064 class ExManagerFog   : public ExManager
00065 {
00066 private:
00067 //------------------------------------------------------------------------
00068 // Variable
00069 //------------------------------------------------------------------------
00070         GLfloat                 m_FogColor[4];
00071         GLfloat                 m_StartPoint;
00072         GLfloat                 m_EndPoint;
00073         GLfloat                 m_Density;
00074         GLenum                  m_FogAlgo;
00075         bool                    m_State;
00076 
00077         PFNGLFOGCOORDFEXTPROC   glFogCoordfEXT ;        
00078 //------------------------------------------------------------------------
00079 // Singleton creation
00080 //------------------------------------------------------------------------
00081         static bool     m_flag; 
00082         static ExManagerFog *m_instance;
00083         ExManagerFog(void);
00084         ~ExManagerFog(void);
00085 public:
00086         static ExManagerFog*  CreateSingleton(void);
00087 //------------------------------------------------------------------------
00088 // Methode
00089 //------------------------------------------------------------------------
00090         void Reset(void);
00091         void Init(void);
00092         void Draw(void);
00093         ExCAction InputCommand(ExCCommand Command);
00094         ExCAction InputAction(ExCAction Action);
00095 
00096         void EnableFog(void);
00097         void DisableFog(void);
00098         inline bool GetState(void){return m_State;}
00099 
00100         void  SetFogColor(float R,float G,float B,float A);
00101         inline void SetFogColorR(float R);
00102         inline float GetFogColorR(void){return m_FogColor[0];}
00103         void  IncFogColorR(float inc);
00104         void  SetFogColorG(float G);
00105         inline float GetFogColorG(void){return m_FogColor[1];}
00106         void  IncFogColorG(float inc);
00107         void  SetFogColorB(float B);
00108         inline float GetFogColorB(void){return m_FogColor[2];}
00109         void  IncFogColorB(float inc);
00110         void  SetFogColorA(float A);
00111         inline float GetFogColorA(void){return m_FogColor[3];}
00112         void  IncFogColorA(float inc);
00113 
00114         void  SetStartPoint(float P);
00115         inline float GetStarPoint(void){return m_StartPoint;}
00116         void  IncStartPoint(float inc);
00117         
00118         void  SetEndPoint(float P);
00119         inline float GetEndPoint(void){return m_EndPoint;}
00120         void  IncEndPoint(float inc);
00121 
00122         void  SetDensity(float P);
00123         inline float GetDensity(void){return m_Density;}
00124         void  IncDensity(float inc);
00125 
00126         inline GLenum GetAlgo(void){return m_FogAlgo;}
00127         void SetAlgo(GLenum algo);
00128 
00129         void SetVolumetricFogCoord(GLfloat Value);
00130 };
00131 //------------------------------------------------------------------------
00132 #endif //__EXMANAGERFOG_H__

Généré le Tue Oct 28 12:43:36 2003 pour ExNihilo par doxygen 1.3.4