diff options
Diffstat (limited to 'src/menu0/UDrawTexture.pas')
-rw-r--r-- | src/menu0/UDrawTexture.pas | 105 |
1 files changed, 0 insertions, 105 deletions
diff --git a/src/menu0/UDrawTexture.pas b/src/menu0/UDrawTexture.pas deleted file mode 100644 index a7dde18f..00000000 --- a/src/menu0/UDrawTexture.pas +++ /dev/null @@ -1,105 +0,0 @@ -unit UDrawTexture; - -interface - -{$I switches.inc} - -uses UTexture; - -procedure DrawLine(X1, Y1, X2, Y2, ColR, ColG, ColB: real); -procedure DrawQuad(X, Y, W, H, ColR, ColG, ColB: real); -procedure DrawTexture(Texture: TTexture); - -implementation - -uses gl; - -procedure DrawLine(X1, Y1, X2, Y2, ColR, ColG, ColB: real); -begin - glColor3f(ColR, ColG, ColB); - glBegin(GL_LINES); - glVertex2f(x1, y1); - glVertex2f(x2, y2); - glEnd; -end; - -procedure DrawQuad(X, Y, W, H, ColR, ColG, ColB: real); -begin - glColor3f(ColR, ColG, ColB); - glBegin(GL_QUADS); - glVertex2f(x, y); - glVertex2f(x, y+h); - glVertex2f(x+w, y+h); - glVertex2f(x+w, y); - glEnd; -end; - -procedure DrawTexture(Texture: TTexture); -var - x1, x2, x3, x4: real; - y1, y2, y3, y4: real; - xt1, xt2, xt3, xt4: real; - yt1, yt2, yt3, yt4: real; -begin - with Texture do begin - // rysuje paski gracza - glColor4f(ColR * Int, ColG * Int, ColB * Int, Alpha); - glEnable(GL_TEXTURE_2D); - glEnable(GL_BLEND); - glDepthRange(0, 10); - glDepthFunc(GL_LEQUAL); -// glDepthFunc(GL_GEQUAL); - glEnable(GL_DEPTH_TEST); - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); -// glBlendFunc(GL_SRC_COLOR, GL_ZERO); - glBindTexture(GL_TEXTURE_2D, TexNum); - - x1 := x; - x2 := x; - x3 := x+w*scaleW; - x4 := x+w*scaleW; - y1 := y; - y2 := y+h*scaleH; - y3 := y+h*scaleH; - y4 := y; - if Rot <> 0 then begin - xt1 := x1 - (x + w/2); - xt2 := x2 - (x + w/2); - xt3 := x3 - (x + w/2); - xt4 := x4 - (x + w/2); - yt1 := y1 - (y + h/2); - yt2 := y2 - (y + h/2); - yt3 := y3 - (y + h/2); - yt4 := y4 - (y + h/2); - - x1 := (x + w/2) + xt1 * cos(Rot) - yt1 * sin(Rot); - x2 := (x + w/2) + xt2 * cos(Rot) - yt2 * sin(Rot); - x3 := (x + w/2) + xt3 * cos(Rot) - yt3 * sin(Rot); - x4 := (x + w/2) + xt4 * cos(Rot) - yt4 * sin(Rot); - - y1 := (y + h/2) + yt1 * cos(Rot) + xt1 * sin(Rot); - y2 := (y + h/2) + yt2 * cos(Rot) + xt2 * sin(Rot); - y3 := (y + h/2) + yt3 * cos(Rot) + xt3 * sin(Rot); - y4 := (y + h/2) + yt4 * cos(Rot) + xt4 * sin(Rot); - - end; - -{ glBegin(GL_QUADS); - glTexCoord2f(0, 0); glVertex3f(x1, y1, z); - glTexCoord2f(0, TexH); glVertex3f(x2, y2, z); - glTexCoord2f(TexW, TexH); glVertex3f(x3, y3, z); - glTexCoord2f(TexW, 0); glVertex3f(x4, y4, z); - glEnd;} - - glBegin(GL_QUADS); - glTexCoord2f(TexX1*TexW, TexY1*TexH); glVertex3f(x1, y1, z); - glTexCoord2f(TexX1*TexW, TexY2*TexH); glVertex3f(x2, y2, z); - glTexCoord2f(TexX2*TexW, TexY2*TexH); glVertex3f(x3, y3, z); - glTexCoord2f(TexX2*TexW, TexY1*TexH); glVertex3f(x4, y4, z); - glEnd; - end; - glDisable(GL_DEPTH_TEST); - glDisable(GL_TEXTURE_2D); -end; - -end. |