summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2011-10-22 09:45:44 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2011-10-22 09:45:44 (GMT)
commit5b4aeaed01dea9fceddd1d6d0365231421b83321 (patch)
treee3ed16e52693f4a5910bcfa7b80f68cf7b86b6f7 /src
parent7ed4ad2fd80f2a71ccbc0dd0cc0a9490e45f6bf5 (diff)
downloadpowder-5b4aeaed01dea9fceddd1d6d0365231421b83321.zip
powder-5b4aeaed01dea9fceddd1d6d0365231421b83321.tar.gz
Zoom WIP
Diffstat (limited to 'src')
-rw-r--r--src/graphics.c43
1 files changed, 42 insertions, 1 deletions
diff --git a/src/graphics.c b/src/graphics.c
index bb947e0..54e4ab4 100644
--- a/src/graphics.c
+++ b/src/graphics.c
@@ -27,7 +27,7 @@ unsigned cmode = CM_FIRE;
SDL_Surface *sdl_scrn;
int sdl_scale = 1;
-GLuint vidBuf, airBuf, fireAlpha, glowAlpha, blurAlpha, fireProg, partsFboTex, partsFbo, lensProg, partsTFX, partsTFY;
+GLuint zoomTex, vidBuf, airBuf, fireAlpha, glowAlpha, blurAlpha, fireProg, partsFboTex, partsFbo, lensProg, partsTFX, partsTFY;
int sandcolour_r = 0;
int sandcolour_g = 0;
@@ -2674,6 +2674,34 @@ void dim_copy_pers(pixel *dst, pixel *src) //for persistent view, reduces rgb sl
void render_zoom(pixel *img) //draws the zoom box
{
+#ifdef OGLR
+ glEnable( GL_TEXTURE_2D );
+ glReadBuffer(GL_AUX0);
+ glBindTexture(GL_TEXTURE_2D, partsFboTex);
+ glCopyTexSubImage2D(GL_TEXTURE_2D,
+ 0,
+ 20,
+ 20,
+ 30,
+ 30,
+ 50,
+ 50);
+
+
+ glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
+ glBegin(GL_QUADS);
+ glTexCoord2d(1, 1);
+ glVertex3f(zoom_wx+ZSIZE*ZFACTOR, YRES+MENUSIZE-(zoom_wy+ZSIZE*ZFACTOR), 1.0);
+ glTexCoord2d(0, 1);
+ glVertex3f(zoom_wx, YRES+MENUSIZE-(zoom_wy+ZSIZE*ZFACTOR), 1.0);
+ glTexCoord2d(0, 0);
+ glVertex3f(zoom_wx, YRES+MENUSIZE-zoom_wy, 1.0);
+ glTexCoord2d(1, 0);
+ glVertex3f(zoom_wx+ZSIZE*ZFACTOR, YRES+MENUSIZE-zoom_wy, 1.0);
+ glEnd();
+
+ glDisable( GL_TEXTURE_2D );
+#else
int x, y, i, j;
pixel pix;
drawrect(img, zoom_wx-2, zoom_wy-2, ZSIZE*ZFACTOR+2, ZSIZE*ZFACTOR+2, 192, 192, 192, 255);
@@ -2700,6 +2728,7 @@ void render_zoom(pixel *img) //draws the zoom box
xor_pixel(zoom_x+ZSIZE, zoom_y+j, img);
}
}
+#endif
}
//gets the thumbnail preview for stamps
@@ -3126,6 +3155,18 @@ int sdl_open(void)
glBindTexture(GL_TEXTURE_2D, 0);
glDisable(GL_TEXTURE_2D);
+ //Zoom texture
+ glEnable(GL_TEXTURE_2D);
+ glGenTextures(1, &zoomTex);
+ glBindTexture(GL_TEXTURE_2D, zoomTex);
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 0, GL_BGRA, GL_UNSIGNED_BYTE, NULL);
+
+ glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST);
+ glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST);
+
+ glBindTexture(GL_TEXTURE_2D, 0);
+ glDisable(GL_TEXTURE_2D);
+
//Texture for velocity maps for gravity
glEnable(GL_TEXTURE_2D);
glGenTextures(1, &partsTFX);