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

# ExCMap.cpp

Aller à la documentation de ce fichier.

    00001 /*
    00002  * ExNihilo 3D Engine
    00003  *
    00004  *  This program is free software; you can redistribute it and/or modify
    00005  *  it under the terms of the GNU General Public License as published by
    00006  *  the Free Software Foundation; either version 2 of the License, or
    00007  *  (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.  See the
    00012  *  GNU Library General Public License for more details.
    00013  *
    00014  *  You should have received a copy of the GNU General Public License
    00015  *  along with this program; if not, write to the Free Software
    00016  *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
    00017  *
    00018  * Please read AUTHORS file !!!
    00019  *
    00020  * $Id: ExCMap.cpp,v 1.20 2002/11/24 11:59:00 data Exp $
    00021  *
    00022  */
    00023
    00024 #include "ExCMap.h"
    00025
    00026 ExCMap::ExCMap(void)
    00027 {
    00028         m_ShowSkybox=true;
    00029         m_ShowMesh=true;
    00030         m_OctreeState=false;
    00031         m_ShowOctreeSubdivision=false;
    00032 #ifdef UNIX_SRC
    00033         // This is very awfull but it segfault without it
    00034         m_VecMesh.reserve (1000);
    00035         m_VecVertex.reserve (1000);
    00036 #endif
    00037         m_STextureBoxNameTop="SkySpace_Top.tga";
    00038         m_STextureBoxNameBottom="SkySpace_Bottom.tga";
    00039         m_STextureBoxNameFront="SkySpace_Front.tga";
    00040         m_STextureBoxNameBack="SkySpace_Back.tga";
    00041         m_STextureBoxNameLeft="SkySpace_Left.tga";
    00042         m_STextureBoxNameRight="SkySpace_Right.tga";
    00043 }
    00044
    00045 ExCMap::~ExCMap(void)
    00046 {
    00047 }
    00048
    00049 void ExCMap::BuildSkyBox(void)
    00050 {
    00051 Guard(void ExMap::BuildSkyBox(void))
    00052
    00053                 glDeleteLists(m_GlSkyBoxListId,1);      //delete old list
    00054                 m_GlSkyBoxListId=glGenLists(1); //Ask for a new free list
    00055                 glNewList(m_GlSkyBoxListId,GL_COMPILE);
    00056
    00057                 glEnable(GL_TEXTURE_2D);
    00058                 glDisable(GL_LIGHTING);
    00059                 ManagerTexture->SetCurrentObject(m_STextureBoxNameFront);
    00060                 glBegin(GL_QUADS);
    00061                         // Front Face
    00062                         glColor4f(1, 1, 1, 1);
    00063                         glTexCoord2f(1.0f, 1.0f); glVertex3d(-10000.0f,  10000.0f,  10000.0f);
    00064                         glTexCoord2f(0.0f, 1.0f); glVertex3d( 10000.0f,  10000.0f,  10000.0f);
    00065                         glTexCoord2f(0.0f, 0.0f); glVertex3d( 10000.0f, -10000.0f,  10000.0f);
    00066                         glTexCoord2f(1.0f, 0.0f); glVertex3d(-10000.0f, -10000.0f,  10000.0f);
    00067                 glEnd();
    00068                 ManagerTexture->SetCurrentObject(m_STextureBoxNameBack);
    00069                 glBegin(GL_QUADS);
    00070                         // Back Face
    00071                         glTexCoord2f(1.0f, 0.0f); glVertex3d( 10000.0f, -10000.0f, -10000.0f);
    00072                         glTexCoord2f(1.0f, 1.0f); glVertex3d( 10000.0f,  10000.0f, -10000.0f);
    00073                         glTexCoord2f(0.0f, 1.0f); glVertex3d(-10000.0f,  10000.0f, -10000.0f);
    00074                         glTexCoord2f(0.0f, 0.0f); glVertex3d(-10000.0f, -10000.0f, -10000.0f);
    00075                 glEnd();
    00076                 ManagerTexture->SetCurrentObject(m_STextureBoxNameTop);
    00077                 glBegin(GL_QUADS);
    00078                         // Top Face
    00079                         glTexCoord2f(0.0f, 1.0f); glVertex3d( 10000.0f,  10000.0f, -10000.0f);
    00080                         glTexCoord2f(0.0f, 0.0f); glVertex3d( 10000.0f,  10000.0f,  10000.0f);
    00081                         glTexCoord2f(1.0f, 0.0f); glVertex3d(-10000.0f,  10000.0f,  10000.0f);
    00082                         glTexCoord2f(1.0f, 1.0f); glVertex3d(-10000.0f,  10000.0f, -10000.0f);
    00083                 glEnd();
    00084                 ManagerTexture->SetCurrentObject(m_STextureBoxNameBottom);
    00085                 glBegin(GL_QUADS);
    00086                         // Bottom Face
    00087             glTexCoord2f(1.0f, 1.0f); glVertex3d(-10000.0f, -10000.0f,  10000.0f);
    00088                         glTexCoord2f(0.0f, 1.0f); glVertex3d( 10000.0f, -10000.0f,  10000.0f);
    00089                         glTexCoord2f(0.0f, 0.0f); glVertex3d( 10000.0f, -10000.0f, -10000.0f);
    00090                         glTexCoord2f(1.0f, 0.0f); glVertex3d(-10000.0f, -10000.0f, -10000.0f);
    00091                 glEnd();
    00092                 ManagerTexture->SetCurrentObject(m_STextureBoxNameRight);
    00093                 glBegin(GL_QUADS);
    00094                         // Right face
    00095                         glTexCoord2f(1.0f, 0.0f); glVertex3d( 10000.0f, -10000.0f,  10000.0f);
    00096                         glTexCoord2f(1.0f, 1.0f); glVertex3d( 10000.0f,  10000.0f,  10000.0f);
    00097                         glTexCoord2f(0.0f, 1.0f); glVertex3d( 10000.0f,  10000.0f, -10000.0f);
    00098                         glTexCoord2f(0.0f, 0.0f); glVertex3d( 10000.0f, -10000.0f, -10000.0f);
    00099                 glEnd();
    00100                 ManagerTexture->SetCurrentObject(m_STextureBoxNameLeft);
    00101                 glBegin(GL_QUADS);
    00102                 // Left Face
    00103                         glTexCoord2f(1.0f, 1.0f); glVertex3d(-10000.0f,  10000.0f, -10000.0f);
    00104                         glTexCoord2f(0.0f, 1.0f); glVertex3d(-10000.0f,  10000.0f,  10000.0f);
    00105                         glTexCoord2f(0.0f, 0.0f); glVertex3d(-10000.0f, -10000.0f,  10000.0f);
    00106                         glTexCoord2f(1.0f, 0.0f); glVertex3d(-10000.0f, -10000.0f, -10000.0f);
    00107
    00108                 glEnd();
    00109                 glDisable(GL_TEXTURE_2D);
    00110                 glEnable(GL_LIGHTING);
    00111
    00112                 glEndList();
    00113 UnGuard
    00114 }
    00115
    00116 void ExCMap::DrawAllMesh(void)
    00117 {
    00118 Guard(void ExMap::DrawAllMesh(void))
    00119         glCallList(m_GlListId);
    00120 UnGuard
    00121 }
    00122
    00123 void ExCMap::DrawMeshInFrustrum(void)
    00124 {
    00125 Guard(void ExMap::DrawMeshInFrustrum(void))
    00126         //DrawAllMesh();
    00127         //m_Octree.Draw();
    00128         /*Frustrum.CalculateFrustum();
    00129         glColor3f(1.0f, 1.0f, 1.0f);
    00130         glDisable(GL_LIGHTING);
    00131         glEnable(GL_TEXTURE_2D);
    00132         int i=0;
    00133         int pointinfrustrum=0;
    00134
    00135         for(m_ItVecMesh=m_VecMesh.begin();m_ItVecMesh!=m_VecMesh.end();++m_ItVecMesh)
    00136         {
    00137                 ManagerTexture->SetCurrentObject(m_ItVecMesh->GetMaterial());
    00138                 if(Frustrum.PointInFrustum(m_ItVecMesh->A.GetX(),m_ItVecMesh->A.GetY(),m_ItVecMesh->A.GetZ()))
    00139                 {
    00140                         pointinfrustrum++;
    00141                 }
    00142                 if(Frustrum.PointInFrustum(m_ItVecMesh->B.GetX(),m_ItVecMesh->B.GetY(),m_ItVecMesh->B.GetZ()))
    00143                 {
    00144                         pointinfrustrum++;
    00145                 }
    00146                 if(Frustrum.PointInFrustum(m_ItVecMesh->C.GetX(),m_ItVecMesh->C.GetY(),m_ItVecMesh->C.GetZ()))
    00147                 {
    00148                         pointinfrustrum++;
    00149                 }
    00150
    00151                 if(pointinfrustrum>1)
    00152                 {
    00153                         glBegin(GL_TRIANGLES);
    00154                                 glTexCoord2f(m_ItVecMesh->A.GetU(), m_ItVecMesh->A.GetV());
    00155                                 glVertex3f(m_ItVecMesh->A.GetX(),m_ItVecMesh->A.GetY(),m_ItVecMesh->A.GetZ());
    00156                                 glTexCoord2f(m_ItVecMesh->B.GetU(), m_ItVecMesh->B.GetV());
    00157                                 glVertex3f(m_ItVecMesh->B.GetX(),m_ItVecMesh->B.GetY(),m_ItVecMesh->B.GetZ());
    00158                                 glTexCoord2f(m_ItVecMesh->C.GetU(), m_ItVecMesh->C.GetV());
    00159                                 glVertex3f(m_ItVecMesh->C.GetX(),m_ItVecMesh->C.GetY(),m_ItVecMesh->C.GetZ());
    00160                         glEnd();
    00161                 }
    00162                 i++;
    00163                 pointinfrustrum=0;
    00164         }
    00165         glEnable(GL_LIGHTING);
    00166         glDisable(GL_TEXTURE_2D);*/
    00167 UnGuard
    00168 }
    00169
    00170 void ExCMap::Draw(void)
    00171 {
    00172 Guard(void ExMap::Draw(void))
    00173         //if(m_ShowSkybox)glCallList(m_GlSkyBoxListId);
    00174         glCallList(m_GlSkyBoxListId);
    00175         glPushMatrix();
    00176         glRotatef(-90,1.0f,0.0f,0.0f);
    00177         if(m_ShowMesh)
    00178         {
    00179                 if(m_OctreeState)
    00180                 {
    00181                         DrawMeshInFrustrum();
    00182                 }else
    00183                 {
    00184                         DrawAllMesh();
    00185                 }
    00186         }
    00187         glPopMatrix();
    00188
    00189 UnGuard
    00190 }
    00191
    00192 void ExCMap::BuilList(void)
    00193 {
    00194 Guard(void ExMap::BuilList(void))
    00195         m_GlListId=glGenLists(1);
    00196         glNewList(m_GlListId,GL_COMPILE);
    00197                 glColor3f(1.0f, 1.0f, 1.0f);
    00198                 glDisable(GL_LIGHTING);
    00199                 glEnable(GL_TEXTURE_2D);
    00200                 int i=0;
    00201
    00202                 for(m_ItVecMesh=m_VecMesh.begin();m_ItVecMesh!=m_VecMesh.end();++m_ItVecMesh)
    00203                 {
    00204                         ManagerTexture->SetCurrentObject(m_ItVecMesh->GetMaterial());
    00205                         glBegin(GL_TRIANGLES);
    00206                         glTexCoord2f(m_ItVecMesh->A.GetU(), m_ItVecMesh->A.GetV());
    00207                         glVertex3f(m_ItVecMesh->A.GetX(),m_ItVecMesh->A.GetY(),m_ItVecMesh->A.GetZ());
    00208                         glTexCoord2f(m_ItVecMesh->B.GetU(), m_ItVecMesh->B.GetV());
    00209                         glVertex3f(m_ItVecMesh->B.GetX(),m_ItVecMesh->B.GetY(),m_ItVecMesh->B.GetZ());
    00210                         glTexCoord2f(m_ItVecMesh->C.GetU(), m_ItVecMesh->C.GetV());
    00211                         glVertex3f(m_ItVecMesh->C.GetX(),m_ItVecMesh->C.GetY(),m_ItVecMesh->C.GetZ());
    00212                         glEnd();
    00213                         i++;
    00214                 }
    00215
    00216                 glEnable(GL_LIGHTING);
    00217                 glDisable(GL_TEXTURE_2D);
    00218         glEndList();
    00219         //delete data because they are now in list
    00220         m_VecVertex.clear();
    00221         m_VecMesh.clear();
    00222 UnGuard
    00223 }
    00224
    00225
    00226 void ExCMap::BuildOctree(void)
    00227 {
    00228 Guard(void ExMap::BuildOctree(void))
    00229         //m_Octree.SetManagerTexture(ManagerTexture);
    00230         //m_Octree.Build(m_VecMesh);
    00231 UnGuard
    00232 }
    00233
    00234 void ExCMap::BuildVertexArrays(void)
    00235 {
    00236 Guard(void ExMap::BuildVertexArrays(void))
    00237         /*int i=0;
    00238         float   *g_vertexArray;    // vertex array
    00239         //float   *g_colorArray;     // color array
    00240         float   *g_texcoordArray;  // texture array
    00241
    00242         g_vertexArray= new float[m_VecMesh.size()*3][3];
    00243         //g_colorArray=  new float[m_VecMesh.size()*3][3];
    00244         g_texcoordArray= new float[m_VecMesh.size()*3][2];
    00245
    00246         for(m_ItVecMesh=m_VecMesh.begin();m_ItVecMesh!=m_VecMesh.end();++m_ItVecMesh)
    00247         {
    00248                 //ManagerTexture->SetActiveTexture(m_ItVecMesh->GetMaterial());
    00249
    00250                 g_texcoordArray[i][0]=m_ItVecMesh->A.GetU();
    00251                 g_texcoordArray[i][1]=m_ItVecMesh->A.GetV();
    00252
    00253                 g_vertexArray[i][0]=m_ItVecMesh->A.GetX();
    00254                 g_vertexArray[i][0]=m_ItVecMesh->A.GetY();
    00255                 g_vertexArray[i][0]=m_ItVecMesh->A.GetZ();
    00256
    00257                 g_texcoordArray[i+1][0]=m_ItVecMesh->B.GetU();
    00258                 g_texcoordArray[i+1][1]=m_ItVecMesh->B.GetV();
    00259
    00260                 g_vertexArray[i+1][0]=m_ItVecMesh->B.GetX();
    00261                 g_vertexArray[i+1][0]=m_ItVecMesh->B.GetY();
    00262                 g_vertexArray[i+1][0]=m_ItVecMesh->B.GetZ();
    00263
    00264                 g_texcoordArray[i+2][0]=m_ItVecMesh->C.GetU();
    00265                 g_texcoordArray[i+2][1]=m_ItVecMesh->C.GetV();
    00266
    00267                 g_vertexArray[i+2][0]=m_ItVecMesh->C.GetX();
    00268                 g_vertexArray[i+2][0]=m_ItVecMesh->C.GetY();
    00269                 g_vertexArray[i+2][0]=m_ItVecMesh->C.GetZ();
    00270
    00271                 i++;
    00272         }
    00273         // enable the vertex arrays being used
    00274         glEnableClientState(GL_VERTEX_ARRAY);
    00275         //glEnableClientState(GL_COLOR_ARRAY);
    00276         glEnableClientState(GL_TEXTURE_COORD_ARRAY);
    00277           // pass the pointers to OpenGL
    00278         glVertexPointer(3, GL_FLOAT, 0, g_vertexArray);
    00279         //glColorPointer(3, GL_FLOAT, 0, g_colorArray);
    00280         glTexCoordPointer(2, GL_FLOAT, 0, g_texcoordArray);*/
    00281 UnGuard
    00282 }
    00283
    00284 bool ExCMap::LoadMap(const char *FileName)
    00285 {
    00286 Guard(void ExCMap::LoadMap(const char *FileName))
    00287
    00288         char                    buffer[255];
    00289         ExCVertex               VertexBuff;
    00290         ExCMesh                 MeshBuff;
    00291
    00292         #ifdef UNIX_SRC
    00293                 sprintf(buffer, PREFIX "/ExNihilo/Data/Map/%s", FileName);
    00294         #else
    00295                 sprintf(buffer, "../Data/Map/%s", FileName);
    00296         #endif
    00297
    00298         std::ifstream fin;
    00299         std::string buffstring;
    00300
    00301         char b[256];
    00302         fin.open(buffer,std::ios::in);
    00303         if(fin.is_open())
    00304         {
    00305                         //read file type
    00306                         memset(b,0,255);fin.getline(b,256,'\n');
    00307                         buffstring=ExNihilo::ExtracValueFromSring(b,"<filetype>","<#filetype>");
    00308                         //read skybox_top
    00309                         memset(b,0,255);fin.getline(b,256,'\n');
    00310                         m_STextureBoxNameTop=ExNihilo::ExtracValueFromSring(b,"<skybox_top>","<#skybox_top>");
    00311                         //read skybox_bottom
    00312                         memset(b,0,255);fin.getline(b,256,'\n');
    00313                         m_STextureBoxNameBottom=ExNihilo::ExtracValueFromSring(b,"<skybox_bottom>","<#skybox_bottom>");
    00314                         //read skybox_front
    00315                         memset(b,0,255);fin.getline(b,256,'\n');
    00316                         m_STextureBoxNameFront=ExNihilo::ExtracValueFromSring(b,"<skybox_front>","<#skybox_front>");
    00317                         //read skybox_back
    00318                         memset(b,0,255);fin.getline(b,256,'\n');
    00319                         m_STextureBoxNameBack=ExNihilo::ExtracValueFromSring(b,"<skybox_back>","<#skybox_back>");
    00320                         //read skybox_left
    00321                         memset(b,0,255);fin.getline(b,256,'\n');
    00322                         m_STextureBoxNameLeft=ExNihilo::ExtracValueFromSring(b,"<skybox_left>","<#skybox_left>");
    00323                         //read skybox_right
    00324                         memset(b,0,255);fin.getline(b,256,'\n');
    00325                         m_STextureBoxNameRight=ExNihilo::ExtracValueFromSring(b,"<skybox_right>","<#skybox_right>");
    00326
    00327
    00328                         //read number vertex
    00329                         memset(b,0,255);fin.getline(b,256,'\n');
    00330                         m_NumberVertex=ExNihilo::ExtractIntValueFromSring(b,"<number_vertex>","<#number_vertex>");
    00331                         //read vertex
    00332                         for(int i=0;i<m_NumberVertex;i++)
    00333                         {
    00334                                 memset(b,0,255);fin.getline(b,256,'\n');
    00335
    00336                                 buffstring.erase(buffstring.begin(),buffstring.end());
    00337                                 buffstring=ExNihilo::ExtracValueFromSring(b,"<vertex_data>","<#vertex_data>");
    00338                                 VertexBuff.SetX(ExNihilo::ExtractFloatValueFromSring(buffstring,"<X>","<#X>"));
    00339                                 VertexBuff.SetY(ExNihilo::ExtractFloatValueFromSring(buffstring,"<Y>","<#Y>"));
    00340                                 VertexBuff.SetZ(ExNihilo::ExtractFloatValueFromSring(buffstring,"<Z>","<#Z>"));
    00341                                 VertexBuff.SetU(ExNihilo::ExtractFloatValueFromSring(buffstring,"<U>","<#U>"));
    00342                                 VertexBuff.SetV(ExNihilo::ExtractFloatValueFromSring(buffstring,"<V>","<#V>"));
    00343                                 m_VecVertex.push_back(VertexBuff);
    00344                                 //std::cout<<i<<"of"<<m_NumberVertex<<std::endl;
    00345                         }
    00346                         //read number mesh
    00347                         memset(b,0,255);fin.getline(b,256,'\n');
    00348                         m_NumberMesh=ExNihilo::ExtractIntValueFromSring(b,"<number_mesh>","<#number_mesh>");
    00349                         //read mesh
    00350                         for(int i=0;i<m_NumberMesh;i++)
    00351                         {
    00352                                 memset(b,0,255);
    00353                                 fin.getline(b,256,'\n');
    00354                                 buffstring.erase(buffstring.begin(),buffstring.end());
    00355                                 buffstring=ExNihilo::ExtracValueFromSring(b,"<mesh_data>","<#mesh_data>");
    00356
    00357
    00358                                 MeshBuff.A=m_VecVertex.at(ExNihilo::ExtractIntValueFromSring(buffstring,"<A>","<#A>"));
    00359                                 MeshBuff.B=m_VecVertex.at(ExNihilo::ExtractIntValueFromSring(buffstring,"<B>","<#B>"));
    00360                                 MeshBuff.C=m_VecVertex.at(ExNihilo::ExtractIntValueFromSring(buffstring,"<C>","<#C>"));
    00361
    00362                                 MeshBuff.m_AB=ExNihilo::ExtractIntValueFromSring(buffstring,"<AB>","<#AB>");
    00363                                 MeshBuff.m_CA=ExNihilo::ExtractIntValueFromSring(buffstring,"<CA>","<#CA>");
    00364                                 MeshBuff.m_BC=ExNihilo::ExtractIntValueFromSring(buffstring,"<BC>","<#BC>");
    00365
    00366                                 MeshBuff.SetMaterial(ExNihilo::ExtracValueFromSring(buffstring,"<texture>","<#texture>").data());
    00367
    00368                                 ManagerTexture->Add(MeshBuff.GetMaterial());
    00369                                 MeshBuff.m_Smoothing=ExNihilo::ExtractIntValueFromSring(buffstring,"<smothing>","<#smothing>");
    00370
    00371                                 MeshBuff.m_MeshNumber=i;
    00372
    00373                                 m_VecMesh.push_back(MeshBuff);
    00374                                 //std::cout<<i<<"of"<<m_NumberMesh<<std::endl;
    00375
    00376
    00377                         }
    00378                 fin.close();
    00379
    00380         }else throw   ExCExpFileNotFound();
    00381
    00382
    00383
    00384         ManagerTexture->Load(m_STextureBoxNameTop);
    00385         ManagerTexture->SetCurrentObject(m_STextureBoxNameTop);
    00386         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
    00387         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
    00388         ManagerTexture->Load(m_STextureBoxNameBottom);
    00389         ManagerTexture->SetCurrentObject(m_STextureBoxNameBottom);
    00390         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
    00391         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
    00392         ManagerTexture->Load(m_STextureBoxNameFront);
    00393         ManagerTexture->SetCurrentObject(m_STextureBoxNameFront);
    00394         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
    00395         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
    00396         ManagerTexture->Load(m_STextureBoxNameBack);
    00397         ManagerTexture->SetCurrentObject(m_STextureBoxNameBack);
    00398         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
    00399         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
    00400         ManagerTexture->Load(m_STextureBoxNameLeft);
    00401         ManagerTexture->SetCurrentObject(m_STextureBoxNameLeft);
    00402         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
    00403         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
    00404         ManagerTexture->Load(m_STextureBoxNameRight);
    00405         ManagerTexture->SetCurrentObject(m_STextureBoxNameRight);
    00406         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
    00407         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
    00408
    00409
    00410         BuildSkyBox();
    00411         BuilList();
    00412         *Consol<<FileName<<" map file loaded with "<<m_NumberVertex<<" vertex and "<<m_NumberMesh<<" faces"<<std::endl;
    00413
    00414         return true;
    00415
    00416 UnGuard
    00417 }