summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2011-10-25 12:42:17 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2011-10-25 12:42:17 (GMT)
commit48ad01f2ff0cb1551587cb25552093b9dfb51c5c (patch)
treee1da048db957fc4a7abafa9ffa156a57a061d320 /src
parent6fc1ec3749c80a0c65aee858bb5c59e13986553e (diff)
downloadpowder-48ad01f2ff0cb1551587cb25552093b9dfb51c5c.zip
powder-48ad01f2ff0cb1551587cb25552093b9dfb51c5c.tar.gz
Fix for odd alpha blending partsTex
Diffstat (limited to 'src')
-rw-r--r--src/graphics.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/graphics.c b/src/graphics.c
index afeb792..f1f9f6e 100644
--- a/src/graphics.c
+++ b/src/graphics.c
@@ -1561,11 +1561,21 @@ void draw_other(pixel *vid) // EMP effect
if (g>255) g=255;
if (b>255) g=255;
if (a>255) a=255;
+#ifdef OGLR
+ glBegin(GL_QUADS);
+ glColor4i(r, g, b, a);
+ glVertex2f(0, 0);
+ glVertex2f(XRES, 0);
+ glVertex2f(XRES, YRES);
+ glVertex2f(0, YRES);
+ glEnd();
+#else
for (j=0; j<YRES; j++)
for (i=0; i<XRES; i++)
{
drawpixel(vid, i, j, r, g, b, a);
}
+#endif
}
}
@@ -2230,6 +2240,7 @@ void render_parts(pixel *vid)
glEnableClientState(GL_COLOR_ARRAY);
glEnableClientState(GL_VERTEX_ARRAY);
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
if(cflat)
{
@@ -2410,6 +2421,7 @@ void render_parts(pixel *vid)
else
{
glBindTexture(GL_TEXTURE_2D, partsFboTex);
+ glBlendFunc(GL_ONE, GL_ONE);
}
glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
@@ -2425,7 +2437,10 @@ void render_parts(pixel *vid)
glEnd();
if(cmode==CM_FANCY)
+ {
glUseProgram(0);
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+ }
glDisable( GL_TEXTURE_2D );
//Reset coords/offset