aboutsummaryrefslogtreecommitdiff
path: root/modules/image_io/pdp_glx.c
diff options
context:
space:
mode:
authorTom Schouten <doelie@users.sourceforge.net>2006-09-01 13:45:31 +0000
committerTom Schouten <doelie@users.sourceforge.net>2006-09-01 13:45:31 +0000
commit7591a024f184bd385d35583d19d86c1d5f2531ba (patch)
tree77aa0c44ccb700eb9a2b16e1b246e3c8026c40ed /modules/image_io/pdp_glx.c
parent91dd6b68f0f209ad015a303095bb1df018dca71e (diff)
pdp current darcs merge
svn path=/trunk/externals/pdp/; revision=5816
Diffstat (limited to 'modules/image_io/pdp_glx.c')
-rw-r--r--modules/image_io/pdp_glx.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/modules/image_io/pdp_glx.c b/modules/image_io/pdp_glx.c
index 1df127f..d454de9 100644
--- a/modules/image_io/pdp_glx.c
+++ b/modules/image_io/pdp_glx.c
@@ -72,6 +72,7 @@ typedef struct pdp_glx_struct
int x_initialized;
int x_autocreate;
+ int x_interpol;
} t_pdp_glx;
@@ -375,8 +376,17 @@ static void pdp_glx_display_texture(t_pdp_glx *x)
glBindTexture(GL_TEXTURE_2D, x->x_texture);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
- glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
- glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
+
+ if (x->x_interpol){
+ glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
+ glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
+ }
+ else {
+ glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST);
+ glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST);
+ }
+
+
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
/* display texture */
@@ -485,6 +495,9 @@ static void pdp_glx_display(t_pdp_glx *x, t_symbol *s)
}
}
+static void pdp_glx_interpol(t_pdp_glx *x, t_float finterpol){
+ x->x_interpol = (int)finterpol;
+}
static void pdp_glx_free(t_pdp_glx *x)
@@ -525,6 +538,8 @@ void *pdp_glx_new(void)
x->x_tex_width = 64;
x->x_tex_height = 64;
+ x->x_interpol = 1;
+
//pdp_glx_create(x);
return (void *)x;
@@ -563,6 +578,7 @@ void pdp_glx_setup(void)
class_addmethod(pdp_glx_class, (t_method)pdp_glx_cursor, gensym("cursor"), A_FLOAT, A_NULL);
class_addmethod(pdp_glx_class, (t_method)pdp_glx_fullscreen, gensym("fullscreen"), A_NULL);
class_addmethod(pdp_glx_class, (t_method)pdp_glx_moveresize, gensym("posdim"), A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, A_NULL);
+ class_addmethod(pdp_glx_class, (t_method)pdp_glx_interpol, gensym("interpol"), A_FLOAT, A_NULL);
class_addmethod(pdp_glx_class, (t_method)pdp_glx_tile, gensym("tile"), A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, A_NULL);