- procedure paintmap;
- var
- x,y : integer;
- begin
- glpushmatrix;
- glActiveTextureARB(GL_TEXTURE0_ARB);
- glEnable(GL_TEXTURE_2D);
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
- glBindTexture(GL_TEXTURE_2D, maptex);
- glActiveTextureARB(GL_TEXTURE1_ARB);
- glEnable(GL_TEXTURE_2D);
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
- glEnable(gl_BLEND);
- glblendfunc(gl_dst_color,gl_dst_color);
- glBindTexture(GL_TEXTURE_2D, detail);
- glbegin(gl_quads);
- for x := 0 to 63 do
- begin
- for y := 0 to 63 do
- begin
- if not (openpoints[x,y]=clblue) then
- begin
- glMultiTexCoord2fARB(GL_TEXTURE0_ARB,x/64,(63-y)/64);
- glMultiTexCoord2fARB(GL_TEXTURE1_ARB,0,0);
- glvertex3f(x*4, mappoints[x,y+1],(y-62)*4);
- glMultiTexCoord2fARB(GL_TEXTURE0_ARB,(x+1)/64,(63-y)/64);
- glMultiTexCoord2fARB(GL_TEXTURE1_ARB,1,0);
- glvertex3f(x*4+4, mappoints[x+1,y+1], (y-62)*4);
- glMultiTexCoord2fARB(GL_TEXTURE0_ARB,(x+1)/64,(64-y)/64);
- glMultiTexCoord2fARB(GL_TEXTURE1_ARB,1,1);
- glvertex3f(x*4+4, mappoints[x+1,y],(y-62)*4-4);
- glMultiTexCoord2fARB(GL_TEXTURE0_ARB,x/64,(64-y)/64);
- glMultiTexCoord2fARB(GL_TEXTURE1_ARB,0,1);
- glvertex3f(x*4, mappoints[x,y],(y-62)*4-4);
- end;
- end;
- end;
- glend;
- glpopmatrix;
- end;