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

ExManagerTexture.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   :ExManagerTexture.h                                                                              */
00042 /*                                                                                                                                              */
00043 /* Start 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 __EXMANAGERTEXTURE_H__
00053 #define __EXMANAGERTEXTURE_H__
00054 //------------------------------------------------------------------------
00055 //Includes
00056 //------------------------------------------------------------------------
00057 #include "ExDefine.h"
00058 #include "ExNihiloExecption.h"
00059 #include "ExCAction.h"
00060 //------------------------------------------------------------------------
00061 #include "Math/ExMath.h"
00062 //------------------------------------------------------------------------
00063 #include "Object/ExCTexture.h"
00064 //------------------------------------------------------------------------
00065 #include "Manager/ManagerObject/ExManagerObject.h"
00066 //------------------------------------------------------------------------
00067 class ExManagerTexture : public ExManagerObject<ExCTexture>
00068 {
00069         PFNGLMULTITEXCOORD2FARBPROC                     glMultiTexCoord2fARB;
00070         PFNGLACTIVETEXTUREARBPROC                       glActiveTextureARB;
00071         PFNGLCLIENTACTIVETEXTUREARBPROC         glClientActiveTextureARB;
00072 //------------------------------------------------------------------------
00073         int                     m_Anisotropy_level;
00074         int                     m_Multitexturing_level;
00075         int                     m_Anisotropy_max_level;
00076         int                     m_Multitexturing_max_level;
00077 
00078         bool            m_Anisotropy;
00079         bool            m_SGIS_Mimap;
00080         bool            m_ARB_Multitexture;
00081         bool            m_ARB_Texture_Compression;
00082         bool            m_ARB_texture_env_dot3;
00083         bool            m_ARB_texture_env_combine;
00084         bool            m_ARB_texture_cube_map;
00085 private:
00086 //------------------------------------------------------------------------
00087 // Singleton creation
00088 //------------------------------------------------------------------------
00089         static bool m_flag; 
00090         static ExManagerTexture *m_instance;
00091         ExManagerTexture(void);
00092         ~ExManagerTexture(void);
00093 public:
00094         static ExManagerTexture*  CreateSingleton(void);
00095 //------------------------------------------------------------------------
00096 // Methode
00097 //------------------------------------------------------------------------
00098 
00099         void Reset(void);
00100         void Init(void);
00101         void Reload(void);
00102         bool Init(std::string  FileName);
00103         bool Load(std::string FileName);
00104         bool Add(std::string FileName);
00105     bool Add(ExCTexture object);
00106         bool CheckExist(std::string name);
00107         
00108         bool SetCurrentObject(std::string Name);
00109         bool SetCurrentObject(ExNihilo::ExId id);
00110         GLint GetTextureId(std::string Name);
00111         GLint GetTextureId(ExNihilo::ExId id);
00112         
00113         bool SetTexture(int Number,std::string Name);
00114         void SetTextureCoord(int Number,float CoordU,float CoordV);
00115         bool ResetMultitexture(void);
00116 
00117         ExCAction InputAction(ExCAction Action);
00118 
00119         bool LoadCubeMap(std::string FileName);
00120         inline int GetMaxMultitexturingLevel(void){return m_Multitexturing_max_level;}
00121         inline int GetMaxAnisotropyLevel(void){return m_Anisotropy_max_level;}
00122 };
00123 //------------------------------------------------------------------------
00124 #endif //__EXMANAGERTEXTURE_H__

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