mygl.cpp mygl.h OpenArena OpenArena::Window OpenArena::Window g_Screen g_Screen #include"mygl.h" namespaceOpenArena { voidFreeGLTexture(GLuint&texture) { glDeleteTextures(1,&texture); } boolLoadGLTexture(stringfn,GLuint&texture,GLuintmag,GLuintmin) { if(Right(tolower(fn),4)==".bmp") { TextureImage*texImage=NULL; if(texImage=LoadBMP(fn.c_str())) { glGenTextures(1,&texture); glBindTexture(GL_TEXTURE_2D,texture); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR); glTexImage2D(GL_TEXTURE_2D,0,3,texImage->sizeX,texImage->sizeY,0,texImage->type,GL_UNSIGNED_BYTE,texImage->data); if(texImage)//Justincasesomehowthefilewasemptyorunloadable { if(texImage->data) free(texImage->data); free(texImage); } returntrue; } else { returnfalse; } } elseif(Right(tolower(fn),4)==".tga") { TextureImage*texImage=NULL; if(texImage=LoadTGA(fn.c_str())) { glGenTextures(1,&texture); glBindTexture(GL_TEXTURE_2D,texture); glTexImage2D(GL_TEXTURE_2D,0,3,texImage->sizeX,texImage->sizeY,0,texImage->type,GL_UNSIGNED_BYTE,texImage->data); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR); if(texImage)//Justincasesomehowthefilewasemptyorunloadable { if(texImage->data) free(texImage->data); free(texImage); } returntrue; } else { returnfalse; } } else { returnfalse; } } }; OpenArena::Windowg_Screen;