// When i load a map // Load the first image CFJpg := TJPEGImage.Create; CFJpg.LoadFromFile(HomeDir + '/images/' + CurrentMap + '2.jpg'); LoadBackTexture(CFJpg,poaCF); CFJpg.Free; // Load the second image AAJpg := TJPEGImage.Create; AAJpg.LoadFromFile(HomeDir + '/images/' + CurrentMap + '1.jpg'); LoadBackTexture(AAJpg,poaAA); AAJpg.Free; procedure LoadBackTexture(var aJpeg : TJpegImage; Team : TPoATeam); var Bmp : TBitmap; begin Bmp := TBitmap.Create; Bmp.Assign(aJpeg); case Team of poaAA : glBindTexture(GL_TEXTURE_2D, AAMap); poaCF : glBindTexture(GL_TEXTURE_2D, CFMap); end; SwapRGBComps(Bmp); gluBuild2DMipmaps(GL_TEXTURE_2D, 3, 512, 512, GL_RGB, GL_UNSIGNED_BYTE, Bmp.ScanLine[Bmp.Height-1]); Bmp.Free; end; procedure DrawMap(Level : single); begin glColor3F(1,1,1); glEnable(GL_TEXTURE_2D); if MapStatus = 2 then begin case fmMain.cbTeam.ItemIndex of 0,1 : glBindTexture(GL_TEXTURE_2D, AAMap); 2 : glBindTexture(GL_TEXTURE_2D, CFMap); end; end else begin glBindTexture(GL_TEXTURE_2D, AAMap); end; glBegin(GL_QUADS); glTexCoord2f(0.0,0.0); glVertex3f( 0, 0, Level); glTexCoord2f(0.0,1.0); glVertex3f( 0, MAP_HEIGHT, Level); glTexCoord2f(1.0,1.0); glVertex3f(MAP_WIDTH, MAP_HEIGHT, Level); glTexCoord2f(1.0,0.0); glVertex3f(MAP_WIDTH, 0, Level); glEnd(); end;