Commit: a4f35de02636edad38d6b1dc38709aa66b82ae81
Author: Antony Riakiotakis
Date:   Wed Oct 29 18:08:22 2014 +0100
Branches: viewport_experiments
https://developer.blender.org/rBa4f35de02636edad38d6b1dc38709aa66b82ae81

Use the correct shaders and varyings

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

M       source/blender/gpu/intern/gpu_extensions.c
M       source/blender/gpu/shaders/gpu_shader_fx_dof_frag.glsl
M       source/blender/gpu/shaders/gpu_shader_fx_dof_vert.glsl

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

diff --git a/source/blender/gpu/intern/gpu_extensions.c 
b/source/blender/gpu/intern/gpu_extensions.c
index 73132d4..489b80f 100644
--- a/source/blender/gpu/intern/gpu_extensions.c
+++ b/source/blender/gpu/intern/gpu_extensions.c
@@ -83,6 +83,7 @@ extern char datatoc_gpu_shader_sep_gaussian_blur_frag_glsl[];
 extern char datatoc_gpu_shader_fx_vert_glsl[];
 extern char datatoc_gpu_shader_fx_ssao_frag_glsl[];
 extern char datatoc_gpu_shader_fx_dof_frag_glsl[];
+extern char datatoc_gpu_shader_fx_dof_vert_glsl[];
 extern char datatoc_gpu_shader_fx_lib_glsl[];
 
 typedef struct GPUShaders {
@@ -1586,11 +1587,11 @@ GPUShader *GPU_shader_get_builtin_fx_shader(int 
effects, bool persp)
                        GG.shaders.fx_shaders[offset] = 
GPU_shader_create(datatoc_gpu_shader_fx_vert_glsl, 
datatoc_gpu_shader_fx_ssao_frag_glsl, datatoc_gpu_shader_fx_lib_glsl, defines);
                else if (effects == GPU_SHADER_FX_DEPTH_OF_FIELD_PASS_ONE) {
                        strcat(defines, "#define FIRST_PASS\n");
-                       GG.shaders.fx_shaders[offset] = 
GPU_shader_create(datatoc_gpu_shader_fx_vert_glsl, 
datatoc_gpu_shader_fx_dof_frag_glsl, datatoc_gpu_shader_fx_lib_glsl, defines);
+                       GG.shaders.fx_shaders[offset] = 
GPU_shader_create(datatoc_gpu_shader_fx_dof_vert_glsl, 
datatoc_gpu_shader_fx_dof_frag_glsl, datatoc_gpu_shader_fx_lib_glsl, defines);
                }
                else if (effects == GPU_SHADER_FX_DEPTH_OF_FIELD_PASS_TWO) {
                        strcat(defines, "#define SECOND_PASS\n");
-                       GG.shaders.fx_shaders[offset] = 
GPU_shader_create(datatoc_gpu_shader_fx_vert_glsl, 
datatoc_gpu_shader_fx_dof_frag_glsl, datatoc_gpu_shader_fx_lib_glsl, defines);
+                       GG.shaders.fx_shaders[offset] = 
GPU_shader_create(datatoc_gpu_shader_fx_dof_vert_glsl, 
datatoc_gpu_shader_fx_dof_frag_glsl, datatoc_gpu_shader_fx_lib_glsl, defines);
                }
        }
        
diff --git a/source/blender/gpu/shaders/gpu_shader_fx_dof_frag.glsl 
b/source/blender/gpu/shaders/gpu_shader_fx_dof_frag.glsl
index a3a47d7..c30312d 100644
--- a/source/blender/gpu/shaders/gpu_shader_fx_dof_frag.glsl
+++ b/source/blender/gpu/shaders/gpu_shader_fx_dof_frag.glsl
@@ -46,10 +46,10 @@ void first_pass()
        vec2 offset_row = vec2(0.0, 2.0 * invrendertargetdim.y);
 
        /* heavily blur the image */
-       vec4 color = texture2D(colorbuffer, color_uv1.xy);
-       color += texture2D(colorbuffer, color_uv1.xy + offset_row);
-       color += texture2D(colorbuffer, color_uv2.xy);
-       color += texture2D(colorbuffer, color_uv2.xy + offset_row);
+       vec4 color = texture2D(colorbuffer, color_uv1);
+       color += texture2D(colorbuffer, color_uv1 + offset_row);
+       color += texture2D(colorbuffer, color_uv2);
+       color += texture2D(colorbuffer, color_uv2 + offset_row);
        color /= 4.0;
 
        float zdepth = get_view_space_z_from_depth(viewvecs[0].z, 
viewvecs[1].z, depth);
diff --git a/source/blender/gpu/shaders/gpu_shader_fx_dof_vert.glsl 
b/source/blender/gpu/shaders/gpu_shader_fx_dof_vert.glsl
index ad82d3f..d4e9f04 100644
--- a/source/blender/gpu/shaders/gpu_shader_fx_dof_vert.glsl
+++ b/source/blender/gpu/shaders/gpu_shader_fx_dof_vert.glsl
@@ -21,7 +21,7 @@ void vert_dof_first_pass()
 
        /* we offset the texture coordinates by 1.5 pixel, then we reuse that 
to sample the surrounding pixels */
        color_uv1 = gl_MultiTexCoord0.xy + vec2(-1.5, -1.5) * 
invrendertargetdim;
-       color_uv1 = gl_MultiTexCoord0.xy + vec2(0.5, -1.5) * invrendertargetdim;
+       color_uv2 = gl_MultiTexCoord0.xy + vec2(0.5, -1.5) * invrendertargetdim;
 
        gl_Position = gl_Vertex;
 }

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

Reply via email to