Commit: 1cfb12ddbff433ef08279555ee3008f597f1f2a5
Author: Antony Riakiotakis
Date:   Tue Jan 6 19:40:58 2015 +0100
Branches: viewport_experiments
https://developer.blender.org/rB1cfb12ddbff433ef08279555ee3008f597f1f2a5

As usually hard to find errors are usually quite silly. We can now see
the coc value

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

M       source/blender/gpu/intern/gpu_extensions.c
M       source/blender/gpu/shaders/gpu_shader_fx_dof_high_frag.glsl

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

diff --git a/source/blender/gpu/intern/gpu_extensions.c 
b/source/blender/gpu/intern/gpu_extensions.c
index 9afa2cf..9d559f8 100644
--- a/source/blender/gpu/intern/gpu_extensions.c
+++ b/source/blender/gpu/intern/gpu_extensions.c
@@ -1099,7 +1099,7 @@ void GPU_texture_bind_as_framebuffer(GPUTexture *tex)
 void GPU_framebuffer_slots_bind(GPUFrameBuffer *fb, int slot)
 {
        int numslots = 0, i;
-       GLubyte attachments[4];
+       GLenum attachments[4];
        
        if (!fb->colortex[slot]) {
                fprintf(stderr, "Error, framebuffer slot empty!");
diff --git a/source/blender/gpu/shaders/gpu_shader_fx_dof_high_frag.glsl 
b/source/blender/gpu/shaders/gpu_shader_fx_dof_high_frag.glsl
index 423b06c..be54244 100644
--- a/source/blender/gpu/shaders/gpu_shader_fx_dof_high_frag.glsl
+++ b/source/blender/gpu/shaders/gpu_shader_fx_dof_high_frag.glsl
@@ -35,10 +35,9 @@ void half_downsample_frag(void)
        depthv.a = calculate_signed_coc(texture2D(depthbuffer, depth_uv4).r);
        
        /* near coc, keep the min here */
-       //gl_FragData[1].r = max(-min(min(depthv.r, depthv.g), min(depthv.b, 
depthv.a)), 0.0);
+       gl_FragData[1].r = max(-min(min(depthv.r, depthv.g), min(depthv.b, 
depthv.a)), 0.0);
        /* far coc keep the max */
-       //gl_FragData[1].g = max(max(max(depthv.r, depthv.g), max(depthv.b, 
depthv.a)), 0.0);
-       gl_FragData[1] = vec4(1.0);
+       gl_FragData[1].g = max(max(max(depthv.r, depthv.g), max(depthv.b, 
depthv.a)), 0.0);
        /* framebuffer output 1 is bound to half size color. linear filtering 
should take care of averaging here */
        gl_FragData[0] = texture2D(colorbuffer, uvcoordsvar.xy);
 }
@@ -47,9 +46,9 @@ void final_combine_frag(void)
 {
        vec4 coc = texture2D(cocbuffer, uvcoordsvar.xy);
        /* framebuffer output 1 is bound to half size color. linear filtering 
should take care of averaging here */
-//     gl_FragColor = texture2D(colorbuffer, uvcoordsvar.xy);
-       gl_FragColor = coc;
-//     gl_FragColor.g *= coc.g;
+       gl_FragColor = texture2D(colorbuffer, uvcoordsvar.xy);
+       gl_FragColor.g *= coc.g;
+       gl_FragColor.r *= coc.r;
 }
 
 void main(void)

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to