hedgewars/uAtlas.pas
changeset 7301 bea42438a2ec
parent 7297 af64b509725c
child 7304 8b3575750cd2
equal deleted inserted replaced
7299:c633d00dc593 7301:bea42438a2ec
   125     for i:= 0 to pred(MaxAtlases) do
   125     for i:= 0 to pred(MaxAtlases) do
   126     begin
   126     begin
   127         if not Info[i].allocated then
   127         if not Info[i].allocated then
   128             continue;
   128             continue;
   129         glGetIntegerv(GL_VIEWPORT, @vp);
   129         glGetIntegerv(GL_VIEWPORT, @vp);
       
   130 {$IFDEF GL2}
   130         glGetIntegerv(GL_CURRENT_PROGRAM, @prog);
   131         glGetIntegerv(GL_CURRENT_PROGRAM, @prog);
   131 
       
   132         glUseProgram(0);
   132         glUseProgram(0);
       
   133 {$ENDIF}
       
   134         glPushMatrix;
       
   135         glLoadIdentity;
       
   136         glMatrixMode(GL_PROJECTION);
   133         glPushMatrix;
   137         glPushMatrix;
   134         glLoadIdentity;
   138         glLoadIdentity;
   135         glOrtho(0, vp[2], vp[3], 0, -1, 1);
   139         glOrtho(0, vp[2], vp[3], 0, -1, 1);
   136 
   140 
       
   141         glDisable(GL_CULL_FACE);
   137 
   142 
   138         glBindTexture(GL_TEXTURE_2D, Info[i].TextureInfo.id);
   143         glBindTexture(GL_TEXTURE_2D, Info[i].TextureInfo.id);
   139         glBegin(GL_QUADS);
   144         glBegin(GL_QUADS);
   140         glTexCoord2f(0.0, 0.0);
   145         glTexCoord2f(0.0, 0.0);
   141         glVertex2i(x * SZ, y * SZ);
   146         glVertex2i(x * SZ, y * SZ);
   146         glTexCoord2f(0.0, 1.0);
   151         glTexCoord2f(0.0, 1.0);
   147         glVertex2i(x * SZ, (y + 1) * SZ);
   152         glVertex2i(x * SZ, (y + 1) * SZ);
   148         glEnd();
   153         glEnd();
   149 
   154 
   150         glPopMatrix;
   155         glPopMatrix;
       
   156         glMatrixMode(GL_MODELVIEW);
       
   157         glPopMatrix;
   151 
   158 
   152         inc(x);
   159         inc(x);
   153         if (x = 2) then
   160         if (x = 2) then
   154         begin
   161         begin
   155             x:=0;
   162             x:=0;
   156             inc(y);
   163             inc(y);
   157         end;
   164         end;
   158      
   165      
   159 
   166 {$IFDEF GL2}
   160         glUseProgram(prog);
   167         glUseProgram(prog);
       
   168 {$ENDIF}
   161     end;
   169     end;
   162 end;
   170 end;
   163 
   171 
   164 procedure DumpAtlas(var info: AtlasInfo);
   172 procedure DumpAtlas(var info: AtlasInfo);
   165 var
   173 var