[artoolkit-commits] artoolkit/lib/SRC/Gl gsub_lite.c,1.12,1.13
Optical marker tracking and overlay for augmented reality.
Brought to you by:
philip_lamb
From: Philip L. <phi...@us...> - 2006-04-06 05:34:04
|
Update of /cvsroot/artoolkit/artoolkit/lib/SRC/Gl In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4158 Modified Files: gsub_lite.c Log Message: Moved some gsub_lite globals into state structure. Index: gsub_lite.c =================================================================== RCS file: /cvsroot/artoolkit/artoolkit/lib/SRC/Gl/gsub_lite.c,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** gsub_lite.c 5 Apr 2006 05:48:03 -0000 1.12 --- gsub_lite.c 6 Apr 2006 05:33:59 -0000 1.13 *************** *** 19,22 **** --- 19,23 ---- * 2.7.9 2005-08-15 PRL Added complete support for runtime selection of pixel format and rectangle/power-of-2 textures. * 2.8.0 2006-04-04 PRL Move pixel format constants into toolkit global namespace (in config.h). + * 2.8.1 2006-04-06 PRL Move arglDrawMode, arglTexmapMode, arglTexRectangle out of global variables. * */ *************** *** 134,137 **** --- 135,141 ---- GLenum pixType; GLenum pixSize; + int arglDrawMode; + int arglTexmapMode; + int arglTexRectangle; }; typedef struct _ARGL_CONTEXT_SETTINGS ARGL_CONTEXT_SETTINGS; *************** *** 142,153 **** // It'd be nice if we could wrap these in accessor functions! - int arglDrawMode = DEFAULT_DRAW_MODE; - int arglTexmapMode = DEFAULT_DRAW_TEXTURE_IMAGE; - #ifdef AR_OPENGL_TEXTURE_RECTANGLE - int arglTexRectangle = TRUE; - #else - int arglTexRectangle = FALSE; - #endif // AR_OPENGL_TEXTURE_RECTANGLE - // These items relate to Apple's fast texture transfer support. //#define ARGL_USE_TEXTURE_RANGE // Commented out due to conflicts with GL_APPLE_ycbcr_422 extension. --- 146,149 ---- *************** *** 686,694 **** contextSettings = (ARGL_CONTEXT_SETTINGS_REF)calloc(1, sizeof(ARGL_CONTEXT_SETTINGS)); // Use default pixel format handed to us by <AR/config.h>. - fprintf(stderr, "pix fmt is %d \n", AR_PIXEL_FORMAT_DEFAULT); if (!arglPixelFormatSet(contextSettings, AR_PIXEL_FORMAT_DEFAULT)) { fprintf(stderr, "Unknown default pixel format defined in config.h.\n"); return (NULL); } return (contextSettings); } --- 682,697 ---- contextSettings = (ARGL_CONTEXT_SETTINGS_REF)calloc(1, sizeof(ARGL_CONTEXT_SETTINGS)); // Use default pixel format handed to us by <AR/config.h>. if (!arglPixelFormatSet(contextSettings, AR_PIXEL_FORMAT_DEFAULT)) { fprintf(stderr, "Unknown default pixel format defined in config.h.\n"); return (NULL); } + arglDrawModeSet(contextSettings, AR_DRAW_BY_TEXTURE_MAPPING); + arglTexmapModeSet(contextSettings, AR_DRAW_TEXTURE_FULL_IMAGE); + #ifdef AR_OPENGL_TEXTURE_RECTANGLE + arglTexRectangleSet(contextSettings, TRUE); + #else + arglTexRectangleSet(contextSettings, FALSE); + #endif // AR_OPENGL_TEXTURE_RECTANGLE + return (contextSettings); } *************** *** 785,790 **** zoomf = (float)zoom; ! texmapScaleFactor = arglTexmapMode + 1; ! if (arglDrawMode == AR_DRAW_BY_GL_DRAW_PIXELS) { glDisable(GL_TEXTURE_2D); glPixelZoom(zoomf, -zoomf); --- 788,793 ---- zoomf = (float)zoom; ! texmapScaleFactor = contextSettings->arglTexmapMode + 1; ! if (contextSettings->arglDrawMode == AR_DRAW_BY_GL_DRAW_PIXELS) { glDisable(GL_TEXTURE_2D); glPixelZoom(zoomf, -zoomf); *************** *** 802,806 **** } ! if (arglTexRectangle) { arglDispImageTexRectangle(image, cparam, zoomf, contextSettings, texmapScaleFactor); } else { --- 805,809 ---- } ! if (contextSettings->arglTexRectangle) { arglDispImageTexRectangle(image, cparam, zoomf, contextSettings, texmapScaleFactor); } else { *************** *** 921,922 **** --- 924,962 ---- return (TRUE); } + + void arglDrawModeSet(ARGL_CONTEXT_SETTINGS_REF contextSettings, const int mode) + { + if (!contextSettings || mode < 0 || mode > 1) return; // Sanity check. + contextSettings->arglDrawMode = mode; + } + + int arglDrawModeGet(ARGL_CONTEXT_SETTINGS_REF contextSettings) + { + if (!contextSettings) return (-1); // Sanity check. + return (contextSettings->arglDrawMode); + } + + void arglTexmapModeSet(ARGL_CONTEXT_SETTINGS_REF contextSettings, const int mode) + { + if (!contextSettings || mode < 0 || mode > 1) return; // Sanity check. + contextSettings->arglTexmapMode = mode; + } + + int arglTexmapModeGet(ARGL_CONTEXT_SETTINGS_REF contextSettings) + { + if (!contextSettings) return (-1); // Sanity check. + return (contextSettings->arglTexmapMode); + } + + void arglTexRectangleSet(ARGL_CONTEXT_SETTINGS_REF contextSettings, const int state) + { + if (!contextSettings) return; // Sanity check. + contextSettings->arglTexRectangle = state; + } + + int arglTexRectangleGet(ARGL_CONTEXT_SETTINGS_REF contextSettings) + { + if (!contextSettings) return (-1); // Sanity check. + return (contextSettings->arglTexRectangle); + } + |