Ik wil graag masking gebruiken in tiles, maar ik krijg het niet aan de praat. In de source code hieronder heb ik de blending stuff in de lijst geplaatst maar dat werkt niet.
Nu wil ik graag weten of masking op deze manier wel mogelijk is en als het mogelijk is hoe moet ik het dan doen.
Hier worden de tiles aangemaakt:
Hier worden de tiles afgedrukt:
Nu wil ik graag weten of masking op deze manier wel mogelijk is en als het mogelijk is hoe moet ik het dan doen.
Hier worden de tiles aangemaakt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
| Tiles:=glGenLists(Grootte);
glEnable(GL_BLEND);
glDisable(GL_DEPTH_TEST);
for Teller:=0 to Grootte do
begin
cx:=(Teller mod 16)/ 16.0;
cy:=(Teller div 16)/ 8.0;
glNewList(Tiles+Teller,GL_COMPILE);
glBlendFunc(GL_DST_COLOR,GL_ZERO);
glBindTexture(GL_TEXTURE_2D, Textures[0]);
glBegin(GL_QUADS);
glTexCoord2f(cx +0.0012, 1.0-cy-0.125); glVertex2f(-0.5,-0.5);
glTexCoord2f(cx+0.0625 , 1.0-cy-0.125); glVertex2f( 0.5,-0.5);
glTexCoord2f(cx+0.0625 , 0.9898-cy); glVertex2f( 0.5, 0.5);
glTexCoord2f(cx +0.0012, 0.9898-cy); glVertex2f(-0.5, 0.5);
glEnd();
glBlendFunc(GL_ONE, GL_ONE);
glBindTexture(GL_TEXTURE_2D, Textures[1]);
glBegin(GL_QUADS);
glTexCoord2f(cx +0.0012, 1.0-cy-0.125); glVertex2f(-0.5,-0.5);
glTexCoord2f(cx+0.0625 , 1.0-cy-0.125); glVertex2f( 0.5,-0.5);
glTexCoord2f(cx+0.0625 , 0.9898-cy); glVertex2f( 0.5, 0.5);
glTexCoord2f(cx +0.0012, 0.9898-cy); glVertex2f(-0.5, 0.5);
glEnd();
glEndList();
end;
glDisable(GL_BLEND);
glEnable(GL_DEPTH_TEST); |
Hier worden de tiles afgedrukt:
code:
1
2
3
4
5
6
7
8
| procedure TopenglTiles.Tile(x,y:real; Tile:byte; Grootte:integer); begin glPushMatrix(); glLoadIdentity(); glTranslatef(x,y,-19.0); glCallList(Tile+1); glPopMatrix(); end; |