dungeon_crawler

diff prototype/src/renderer_deferred.cc @ 62:f71381c9e245

gamo to xristo
author John Tsiombikas <nuclear@member.fsf.org>
date Tue, 25 Sep 2012 06:59:11 +0300
parents aa86119e3295
children 7f52d6310317
line diff
     1.1 --- a/prototype/src/renderer_deferred.cc	Tue Sep 25 06:37:56 2012 +0300
     1.2 +++ b/prototype/src/renderer_deferred.cc	Tue Sep 25 06:59:11 2012 +0300
     1.3 @@ -132,6 +132,8 @@
     1.4  
     1.5  void DeferredRenderer::render(const Level *level) const
     1.6  {
     1.7 +	render_pre(level);
     1.8 +
     1.9  	// render into the MRT buffers
    1.10  	glUseProgram(mrt_prog);
    1.11  	curr_prog = mrt_prog;
    1.12 @@ -147,6 +149,8 @@
    1.13  
    1.14  	glUseProgram(0);
    1.15  	curr_prog = 0;
    1.16 +
    1.17 +	render_post(level);
    1.18  }
    1.19  
    1.20  void DeferredRenderer::light_pass(const Level *level) const
    1.21 @@ -218,13 +222,12 @@
    1.22  		glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA32F, tex_xsz, tex_ysz, 0, GL_RGBA, GL_FLOAT, 0);
    1.23  
    1.24  		// attach to fbo
    1.25 -		GLenum color_att = num_draw_bufs >= MRT_COUNT ? GL_COLOR_ATTACHMENT0 + i : GL_COLOR_ATTACHMENT0;
    1.26 -		glFramebufferTexture2DEXT(GL_FRAMEBUFFER, color_att, GL_TEXTURE_2D,
    1.27 -				mrt_tex[i], 0);
    1.28 +		GLenum color_att = GL_COLOR_ATTACHMENT0 + (num_draw_bufs == MRT_COUNT ? i : 0);
    1.29 +		glFramebufferTexture2DEXT(GL_FRAMEBUFFER, color_att, GL_TEXTURE_2D, mrt_tex[i], 0);
    1.30  		CHECKGLERR;
    1.31  	}
    1.32  
    1.33 -	if(num_draw_bufs >= MRT_COUNT) {
    1.34 +	if(num_draw_bufs == MRT_COUNT) {
    1.35  		static GLenum draw_bufs[] = {
    1.36  			GL_COLOR_ATTACHMENT0_EXT, GL_COLOR_ATTACHMENT1_EXT,
    1.37  			GL_COLOR_ATTACHMENT2_EXT, GL_COLOR_ATTACHMENT3_EXT,