예제 #1
0
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);
	}
}
예제 #2
0
파일: stage4.c 프로젝트: miton/taisei
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);
}