- procedure TImageItem.Draw;
- var
- r,g,b : Word;
- begin
- glEnable(GL_DEPTH_TEST);
- if FLoadIdentity then
- glLoadIdentity;
- glEnable(GL_TEXTURE_2D);
- if FPosZ < -8 then
- FPosZ := -8;
- if FPosZ > 1 then
- FPosZ := 1;
- glTranslatef(FPosX,FPosY,FPosZ);
- glBmp.Bind;
- glShadeModel(GL_SMOOTH);
- glColor3f(1,1,1);
- if FBitmapColor <> clWhite then begin
- WinColorToRGB(FBitmapColor,r,g,b);
- glColor3f(r,g,b);
- end;
- if FTransparent then begin
- glEnable(GL_ALPHA_TEST);
- glAlphaFunc(GL_GREATER, 0.1);
- glEnable(GL_BLEND);
- end;
- if FBlending then begin
- glBlendFunc(GL_SRC_ALPHA, GL_ONE);
- end;
- glBegin(GL_QUADS);
- glTexCoord2f(0,1); glVertex2f(0 ,0 );
- glTexCoord2f(1,1); glVertex2f(FWidth,0 );
- glTexCoord2f(1,0); glVertex2f(FWidth,FHeight);
- glTexCoord2f(0,0); glVertex2f(0 ,FHeight);
- glEnd;
- if FBlending then
- glDisable(GL_BLEND);
- end;