glue_static void glueStrobo(float t, float br, float times, float fadespeed) { float br2; br2=clamp(1.0-fmod(t, 1.0/times)*times*fadespeed)*br; glueSetmatrices2d(0); glDisable(GL_FOG); glueDisabletexture(); glDisable(GL_CULL_FACE); glDisable(GL_DEPTH_TEST); glDisable(GL_LIGHTING); glEnable(GL_BLEND); glBlendFunc(GL_ONE, GL_ONE); glColor4f(br2, br2, br2, 1); glBegin(GL_POLYGON); glVertex2f(-1, 1); glVertex2f( 1, 1); glVertex2f( 1, -1); glVertex2f(-1, -1); glEnd(); }
glue_static void glueShowalphabuffer(void) { glueSet2d(0); //glDisable(GL_TEXTURE_2D); glueDisabletexture(); glColor4f(1, 1, 1, 1); glEnable(GL_BLEND); glBlendFunc(GL_DST_ALPHA, GL_ZERO); glue2dquad(); }
glue_static void glueBackgroundcolor(float r, float g, float b, float a, int flags) { gluePush(); glueSet2d(flags); glueDisabletexture(); renderflags(flags); glColor4f(r, g, b, a); glBegin(GL_QUADS); glVertex2f(-1, -1); glVertex2f( 1, -1); glVertex2f( 1, 1); glVertex2f(-1, 1); glEnd(); gluePop(); }
glue_static void glueBackground(float *col, int flags) { gluePush(); glueSet2d(flags); glueDisabletexture(); glColor4f(col[0], col[1], col[2], col[3]); glBegin(GL_POLYGON); glVertex2f(-1, 1); glVertex2f( 1, 1); glVertex2f( 1, -1); glVertex2f(-1, -1); glEnd(); gluePop(); }
void blurfilter(Framebuffer *src, Framebuffer *work, float pixel, int rad, float minus) { int x; glMatrixMode(GL_PROJECTION); glPushMatrix(); glMatrixMode(GL_MODELVIEW); glPushMatrix(); glueBeginrender(work); gluePrepareflags(0); glClear(GL_COLOR_BUFFER_BIT); glueSet2d(GLUE_NO_DEPTH); glueDisabletexture(); glUseProgramObjectARB(shader_blur); glueGlsl_bindtex(shader_blur, "t_color", src->texnum, 0, GL_TEXTURE_2D, GLUE_CLAMP|GLUE_NO_MIPMAP); glUniform2fARB(glGetUniformLocationARB(shader_blur, "direction"), pixel/src->xres, 0.0); glUniform1iARB(glGetUniformLocationARB(shader_blur, "radius"), rad); glUniform1fARB(glGetUniformLocationARB(shader_blur, "minus"), minus); glue2dquad(); glUseProgramObjectARB(0); glueEndrender(); glClear(GL_COLOR_BUFFER_BIT); glueSet2d(GLUE_NO_DEPTH); glUseProgramObjectARB(shader_blur); glueGlsl_bindtex(shader_blur, "t_color", work->texnum, 0, GL_TEXTURE_2D, GLUE_CLAMP|GLUE_NO_MIPMAP); glUniform2fARB(glGetUniformLocationARB(shader_blur, "direction"), 0, pixel/work->yres); float radmultiplier=(float)work->yres/(float)src->yres; // glueNoticef("blur multiplier shit %5.2f", radmultiplier); glUniform1iARB(glGetUniformLocationARB(shader_blur, "radius"), rad*radmultiplier); glue2dquad(); glUseProgramObjectARB(0); glMatrixMode(GL_PROJECTION); glPopMatrix(); glMatrixMode(GL_MODELVIEW); glPopMatrix(); }
glue_static void gluePrepareflags2(float *col) { glFrontFace(GL_CCW); glEnable(GL_CULL_FACE); glCullFace(GL_BACK); renderflags(0); glueDisabletexture(); glDisable(GL_LIGHTING); glDisable(GL_FOG); glColor4f(1, 1, 1, 1); glColorMask(1, 1, 1, 1); if (col!=0) glueClear(col); //glueFC=0; //glueVC=0; tinydebugline=0; tinyinfoline=0; }
glue_static void gluePrepareflags(float *col) { float amb[]= {0, 0, 0, 1.0}; float dif[]= {0.8, 0.8, 0.8, 1.0}; float spec[]= {0.0, 0.0, 0.0, 1.0}; // static int frame=0; glFrontFace(GL_CCW); glEnable(GL_CULL_FACE); glCullFace(GL_BACK); glDisable(GL_LIGHTING); glDisable(GL_BLEND); glDisable(GL_FOG); glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LEQUAL); glDisable(GL_TEXTURE_GEN_Q); glDisable(GL_TEXTURE_GEN_R); glDisable(GL_TEXTURE_GEN_S); glDisable(GL_TEXTURE_GEN_T); //glDisable(GL_TEXTURE_1D); //glDisable(GL_TEXTURE_2D); glShadeModel(GL_SMOOTH); glEnable(GL_NORMALIZE); glDisable(GL_AUTO_NORMAL); glEnable(GL_ALPHA_TEST); glAlphaFunc(GL_ALWAYS, 0); glDisable(GL_COLOR_MATERIAL); glDisable(GL_DITHER); glDisable(GL_LINE_SMOOTH); //glEnable(GL_POLYGON_SMOOTH); glDisable(GL_POLYGON_SMOOTH); glDisable(GL_POINT_SMOOTH); glDisable(GL_SCISSOR_TEST); glDisable(GL_STENCIL_TEST); glDisable(GL_LINE_STIPPLE); glDisable(GL_LOGIC_OP); glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); glDisable(GL_CLIP_PLANE0); glDisable(GL_CLIP_PLANE1); glDisable(GL_CLIP_PLANE2); glDisable(GL_CLIP_PLANE3); glDisable(GL_CLIP_PLANE4); glDisable(GL_CLIP_PLANE5); glColor4f(1, 1, 1, 1); glDepthMask(1); glColorMask(1, 1, 1, 1); glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, amb); glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, dif); glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, spec); glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, spec); glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, 0); //glDisable(GL_LIGHT_MODEL_LOCAL_VIEWER); //glDisable(GL_LIGHT_MODEL_TWO_SIDE); // if (GLUE_CUBEMAP_OK) { // glDisable(GL_TEXTURE_CUBE_MAP_ARB); // } glueDisabletexture(); if (glueMultisample==1) glEnable(GL_MULTISAMPLE_ARB); if (col!=0) glueClear(col); //glueFC=0; //glueVC=0; tinydebugline=0; tinyinfoline=0; }