Page principale | Hiérarchie des classes | Liste des classes | Liste des fichiers | Membres de classe | Membres de fichier

texture_2d.cpp

Aller à la documentation de ce fichier.
00001 #include "texture_2d.h" 00002 #include "texture_manager.h" 00003 #include "window_sdl.h" 00004 00005 CTexture2D::CTexture2D (const char* szFilename) 00006 { 00007 _Load (szFilename); 00008 } 00009 00010 CTexture2D::~CTexture2D () 00011 { 00012 glDeleteTextures (1, &m_uiTexture); 00013 } 00014 00015 void CTexture2D::_Load (const char* szFilename) 00016 { 00017 m_szFilename = szFilename; 00018 00019 // Groove - 03/03/2004 - Chargement de l'image grâce à GTL, une ligne et c'est fait ! 00020 gtl::CImageTGA Image (szFilename); 00021 // Groove - 08/09/2004 - Création d'un objet de texture 00022 glGenTextures (1, &m_uiTexture); 00023 // Groove - 03/03/2004 - La texture indiqué par g_uiTexture est la testure courante. 00024 glBindTexture (GL_TEXTURE_2D, m_uiTexture); 00025 // Groove - 03/03/2004 - Indique le filtre qui sera appliqué à la texture. 00026 glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); 00027 glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); 00028 // Groove - 03/03/2004 - Indique comment la texture sera appliqué en decors des coordonnées de la texture. 00029 glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); 00030 glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_R, GL_REPEAT); 00031 glTexParameteri (GL_TEXTURE_2D, GL_GENERATE_MIPMAP_SGIS, GL_TRUE); 00032 00033 // Groove - 03/03/2004 - Image.GetSizeX () : Retourne la largeur de l'image 00034 // Groove - 03/03/2004 - Image.GetSizeY () : Retourne la hauteur de l'image 00035 // Groove - 03/03/2004 - Image.GetData () : Retourne un pointeur vers les données de l'image 00036 switch (Image.GetTexelSize ()) 00037 { 00038 default: 00039 break; 00040 case 24: 00041 glTexImage2D (GL_TEXTURE_2D, 0, 3, Image.GetSizeX (), Image.GetSizeY (), 0, GL_BGR, GL_UNSIGNED_BYTE, Image.GetData ()); 00042 break; 00043 case 32: 00044 glTexImage2D (GL_TEXTURE_2D, 0, 4, Image.GetSizeX (), Image.GetSizeY (), 0, GL_BGRA, GL_UNSIGNED_BYTE, Image.GetData ()); 00045 break; 00046 } 00047 } 00048 00049 void CTexture2D::Bind () const 00050 { 00051 glBindTexture (GL_TEXTURE_2D, m_uiTexture); 00052 } 00053 00054 ETextureType CTexture2D::Type () const 00055 { 00056 return TEXTURE_TYPE_TEXTURE_2D; 00057 }

Généré le Sun Sep 26 11:36:46 2004 pour Shoot(r) par doxygen 1.3.8