void draw_ingame_menu_bg(float f) { float rad = f*IMENU_BLUR; if(!tconfig.intval[NO_SHADER]) { glBindFramebuffer(GL_FRAMEBUFFER, 0); Shader *shader = get_shader("ingame_menu"); glUseProgram(shader->prog); glUniform1f(uniloc(shader, "rad"), rad); draw_fbo_viewport(&resources.fsec); glUseProgram(0); } }
void stage4_fog(int fbonum) { Shader *shader = get_shader("zbuf_fog"); float f = 0; if(global.timer > 5100) { float v = (global.timer-5100)*0.0005; f = v < 0.1 ? v : 0.1; } glUseProgram(shader->prog); glUniform1i(uniloc(shader, "depth"),2); glUniform4f(uniloc(shader, "fog_color"),10*f,0,0.1-f,1.0); glUniform1f(uniloc(shader, "start"),0.4); glUniform1f(uniloc(shader, "end"),0.8); glUniform1f(uniloc(shader, "exponent"),4.0); glActiveTexture(GL_TEXTURE0 + 2); glBindTexture(GL_TEXTURE_2D, resources.fbg[fbonum].depth); glActiveTexture(GL_TEXTURE0); draw_fbo_viewport(&resources.fbg[fbonum]); glUseProgram(0); }