Commit: f54d210f2661bfaf82e172eba263e92341467fa5
Author: Antony Riakiotakis
Date:   Mon Jan 5 18:09:40 2015 +0100
Branches: viewport_experiments
https://developer.blender.org/rBf54d210f2661bfaf82e172eba263e92341467fa5

Use nice switch statement instead of horrible chained ifs.

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

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

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

diff --git a/source/blender/gpu/intern/gpu_extensions.c 
b/source/blender/gpu/intern/gpu_extensions.c
index f4033a4..08a34b0 100644
--- a/source/blender/gpu/intern/gpu_extensions.c
+++ b/source/blender/gpu/intern/gpu_extensions.c
@@ -1734,27 +1734,35 @@ GPUShader *GPU_shader_get_builtin_fx_shader(int 
effects, bool persp)
        }
 
        if (!GG.shaders.fx_shaders[offset]) {
-               if (effects == GPU_SHADER_FX_SSAO)
-                       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_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_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_THREE) {
-                       strcat(defines, "#define THIRD_PASS\n");
-                       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_FOUR) {
-                       strcat(defines, "#define FOURTH_PASS\n");
-                       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_FIVE) {
-                       strcat(defines, "#define FIFTH_PASS\n");
-                       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);
+               switch(effects) {
+                       case GPU_SHADER_FX_SSAO:
+                               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);
+                               break;
+                               
+                       case 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_dof_vert_glsl, 
datatoc_gpu_shader_fx_dof_frag_glsl, datatoc_gpu_shader_fx_lib_glsl, defines);
+                               break;
+                               
+                       case 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_dof_vert_glsl, 
datatoc_gpu_shader_fx_dof_frag_glsl, datatoc_gpu_shader_fx_lib_glsl, defines);
+                               break;
+                               
+                       case GPU_SHADER_FX_DEPTH_OF_FIELD_PASS_THREE:
+                               strcat(defines, "#define THIRD_PASS\n");
+                               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);
+                               break;
+                               
+                       case GPU_SHADER_FX_DEPTH_OF_FIELD_PASS_FOUR:
+                               strcat(defines, "#define FOURTH_PASS\n");
+                               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);
+                               break;
+                               
+                       case GPU_SHADER_FX_DEPTH_OF_FIELD_PASS_FIVE:
+                               strcat(defines, "#define FIFTH_PASS\n");
+                               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);
+                               break;
                }
        }

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

Reply via email to