[Bf-blender-cvs] [518f794] viewport_experiments: SSAO and DOF work well together now.

Antony Riakiotakis noreply at git.blender.org
Wed Oct 29 11:12:52 CET 2014


Commit: 518f794a6f72e2aae6cafcbcbb8e4b43b1bd70bb
Author: Antony Riakiotakis
Date:   Wed Oct 29 11:12:41 2014 +0100
Branches: viewport_experiments
https://developer.blender.org/rB518f794a6f72e2aae6cafcbcbb8e4b43b1bd70bb

SSAO and DOF work well together now.

===================================================================

M	source/blender/gpu/intern/gpu_compositing.c

===================================================================

diff --git a/source/blender/gpu/intern/gpu_compositing.c b/source/blender/gpu/intern/gpu_compositing.c
index 5777f2d..862e332 100644
--- a/source/blender/gpu/intern/gpu_compositing.c
+++ b/source/blender/gpu/intern/gpu_compositing.c
@@ -326,6 +326,7 @@ bool GPU_fx_do_composite_pass(GPUFX *fx, struct View3D *v3d, struct RegionView3D
 	
 	/* first, unbind the render-to-texture framebuffer */
 	GPU_framebuffer_texture_detach(fx->gbuffer, fx->color_buffer);
+	GPU_framebuffer_texture_detach(fx->gbuffer, fx->depth_buffer);
 	glPopAttrib();
 
 	src = fx->color_buffer;
@@ -429,8 +430,10 @@ bool GPU_fx_do_composite_pass(GPUFX *fx, struct View3D *v3d, struct RegionView3D
 			glColor3f(1.0, 0.0, 1.0);
 
 			/* draw */
-			if (passes_left-- == 1)
+			if (passes_left-- == 1) {
+				GPU_framebuffer_texture_unbind(fx->gbuffer, NULL);
 				GPU_framebuffer_restore();
+			}
 			else {
 				/* bind the ping buffer to the color buffer */
 				GPU_framebuffer_texture_attach(fx->gbuffer, target, NULL);
@@ -502,8 +505,10 @@ bool GPU_fx_do_composite_pass(GPUFX *fx, struct View3D *v3d, struct RegionView3D
 			GPU_shader_uniform_texture(fx_shader, depth_uniform, fx->depth_buffer);
 
 			/* if this is the last pass, prepare for rendering on the frambuffer */
-			if (passes_left-- == 1)
+			if (passes_left-- == 1) {
+				GPU_framebuffer_texture_unbind(fx->gbuffer, NULL);
 				GPU_framebuffer_restore();
+			}
 			else {
 				/* bind the ping buffer to the color buffer */
 				GPU_framebuffer_texture_attach(fx->gbuffer, target, NULL);
@@ -531,7 +536,6 @@ bool GPU_fx_do_composite_pass(GPUFX *fx, struct View3D *v3d, struct RegionView3D
 	glDisableClientState(GL_TEXTURE_COORD_ARRAY);
 	
 	GPU_shader_unbind();
-	GPU_framebuffer_texture_unbind(fx->gbuffer, NULL);
 
 	return true;
 }




More information about the Bf-blender-cvs mailing list