summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2011-10-25 15:10:16 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2011-10-25 15:10:16 (GMT)
commitef7e231a3211c2b7368ab1f7fcdac7894c01fd5a (patch)
tree86ed5bb1a2e812b1e3f365e163163fdd68456318 /src
parentb9ec7d8654d161e9646780989db77c47f48a698d (diff)
downloadpowder-ef7e231a3211c2b7368ab1f7fcdac7894c01fd5a.zip
powder-ef7e231a3211c2b7368ab1f7fcdac7894c01fd5a.tar.gz
Half-working persistent mode
Diffstat (limited to 'src')
-rw-r--r--src/graphics.c23
1 files changed, 19 insertions, 4 deletions
diff --git a/src/graphics.c b/src/graphics.c
index 8ac2230..eabefa1 100644
--- a/src/graphics.c
+++ b/src/graphics.c
@@ -349,10 +349,25 @@ pixel *rescale_img(pixel *src, int sw, int sh, int *qw, int *qh, int f)
#ifdef OGLR
void clearScreen(float alpha)
{
- glClearColor(0.0f, 0.0f, 0.0f, alpha);
- glBindFramebuffer(GL_DRAW_FRAMEBUFFER, partsFbo);
- glClear(GL_COLOR_BUFFER_BIT);
- glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0);
+ if(alpha > 0.999f)
+ {
+ glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
+ glBindFramebuffer(GL_DRAW_FRAMEBUFFER, partsFbo);
+ glClear(GL_COLOR_BUFFER_BIT);
+ glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0);
+ }
+ else
+ {
+ glColor4f(0.0f, 0.0f, 0.0f, alpha);
+ glBindFramebuffer(GL_DRAW_FRAMEBUFFER, partsFbo);
+ glBegin(GL_QUADS);
+ glVertex2f(0, 0);
+ glVertex2f(XRES, 0);
+ glVertex2f(XRES, YRES);
+ glVertex2f(0, YRES);
+ glEnd();
+ glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0);
+ }
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
glClear(GL_COLOR_BUFFER_BIT);
}