[Bf-blender-cvs] [2aee22c7691] greasepencil-refactor: GPencil: First step to clear old code after refactoring

Antonio Vazquez noreply at git.blender.org
Wed Jan 8 13:10:41 CET 2020


Commit: 2aee22c7691abd1b1b3781b56f2f1816827829c4
Author: Antonio Vazquez
Date:   Wed Jan 8 13:10:31 2020 +0100
Branches: greasepencil-refactor
https://developer.blender.org/rB2aee22c7691abd1b1b3781b56f2f1816827829c4

GPencil: First step to clear old code after refactoring

Still need more clear.

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

M	source/blender/draw/CMakeLists.txt
M	source/blender/draw/engines/gpencil/gpencil_engine.c
M	source/blender/draw/engines/gpencil/gpencil_render.c
M	source/blender/draw/engines/gpencil/gpencil_shader_fx.c
D	source/blender/draw/engines/gpencil/shaders/fx/gpencil_fx_blur_frag.glsl
D	source/blender/draw/engines/gpencil/shaders/fx/gpencil_fx_colorize_frag.glsl
D	source/blender/draw/engines/gpencil/shaders/fx/gpencil_fx_flip_frag.glsl
D	source/blender/draw/engines/gpencil/shaders/fx/gpencil_fx_glow_prepare_frag.glsl
D	source/blender/draw/engines/gpencil/shaders/fx/gpencil_fx_glow_resolve_frag.glsl
D	source/blender/draw/engines/gpencil/shaders/fx/gpencil_fx_pixel_frag.glsl
D	source/blender/draw/engines/gpencil/shaders/fx/gpencil_fx_rim_prepare_frag.glsl
D	source/blender/draw/engines/gpencil/shaders/fx/gpencil_fx_rim_resolve_frag.glsl
D	source/blender/draw/engines/gpencil/shaders/fx/gpencil_fx_shadow_prepare_frag.glsl
D	source/blender/draw/engines/gpencil/shaders/fx/gpencil_fx_shadow_resolve_frag.glsl
D	source/blender/draw/engines/gpencil/shaders/fx/gpencil_fx_swirl_frag.glsl
D	source/blender/draw/engines/gpencil/shaders/fx/gpencil_fx_wave_frag.glsl
D	source/blender/draw/engines/gpencil/shaders/gpencil_background_frag.glsl
D	source/blender/draw/engines/gpencil/shaders/gpencil_blend_frag.glsl
D	source/blender/draw/engines/gpencil/shaders/gpencil_edit_point_frag.glsl
D	source/blender/draw/engines/gpencil/shaders/gpencil_edit_point_geom.glsl
D	source/blender/draw/engines/gpencil/shaders/gpencil_edit_point_vert.glsl
D	source/blender/draw/engines/gpencil/shaders/gpencil_fill_frag.glsl
D	source/blender/draw/engines/gpencil/shaders/gpencil_fill_vert.glsl
D	source/blender/draw/engines/gpencil/shaders/gpencil_paper_frag.glsl
D	source/blender/draw/engines/gpencil/shaders/gpencil_point_frag.glsl
D	source/blender/draw/engines/gpencil/shaders/gpencil_point_geom.glsl
D	source/blender/draw/engines/gpencil/shaders/gpencil_point_vert.glsl
D	source/blender/draw/engines/gpencil/shaders/gpencil_simple_mix_frag.glsl
D	source/blender/draw/engines/gpencil/shaders/gpencil_stroke_frag.glsl
D	source/blender/draw/engines/gpencil/shaders/gpencil_stroke_geom.glsl
D	source/blender/draw/engines/gpencil/shaders/gpencil_stroke_vert.glsl
D	source/blender/draw/engines/gpencil/shaders/gpencil_zdepth_mix_frag.glsl

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

diff --git a/source/blender/draw/CMakeLists.txt b/source/blender/draw/CMakeLists.txt
index 23516f5067f..fc2da11bc4e 100644
--- a/source/blender/draw/CMakeLists.txt
+++ b/source/blender/draw/CMakeLists.txt
@@ -290,36 +290,6 @@ data_to_c_simple(engines/gpencil/shaders/gpencil_depth_merge_frag.glsl SRC)
 data_to_c_simple(engines/gpencil/shaders/gpencil_depth_merge_vert.glsl SRC)
 data_to_c_simple(engines/gpencil/shaders/gpencil_vfx_frag.glsl SRC)
 
-data_to_c_simple(engines/gpencil/shaders/gpencil_fill_vert.glsl SRC)
-data_to_c_simple(engines/gpencil/shaders/gpencil_fill_frag.glsl SRC)
-data_to_c_simple(engines/gpencil/shaders/gpencil_stroke_vert.glsl SRC)
-data_to_c_simple(engines/gpencil/shaders/gpencil_stroke_geom.glsl SRC)
-data_to_c_simple(engines/gpencil/shaders/gpencil_stroke_frag.glsl SRC)
-data_to_c_simple(engines/gpencil/shaders/gpencil_zdepth_mix_frag.glsl SRC)
-data_to_c_simple(engines/gpencil/shaders/gpencil_simple_mix_frag.glsl SRC)
-data_to_c_simple(engines/gpencil/shaders/gpencil_blend_frag.glsl SRC)
-data_to_c_simple(engines/gpencil/shaders/gpencil_point_vert.glsl SRC)
-data_to_c_simple(engines/gpencil/shaders/gpencil_point_geom.glsl SRC)
-data_to_c_simple(engines/gpencil/shaders/gpencil_point_frag.glsl SRC)
-data_to_c_simple(engines/gpencil/shaders/gpencil_background_frag.glsl SRC)
-data_to_c_simple(engines/gpencil/shaders/gpencil_paper_frag.glsl SRC)
-data_to_c_simple(engines/gpencil/shaders/gpencil_edit_point_vert.glsl SRC)
-data_to_c_simple(engines/gpencil/shaders/gpencil_edit_point_geom.glsl SRC)
-data_to_c_simple(engines/gpencil/shaders/gpencil_edit_point_frag.glsl SRC)
-
-data_to_c_simple(engines/gpencil/shaders/fx/gpencil_fx_blur_frag.glsl SRC)
-data_to_c_simple(engines/gpencil/shaders/fx/gpencil_fx_colorize_frag.glsl SRC)
-data_to_c_simple(engines/gpencil/shaders/fx/gpencil_fx_flip_frag.glsl SRC)
-data_to_c_simple(engines/gpencil/shaders/fx/gpencil_fx_glow_prepare_frag.glsl SRC)
-data_to_c_simple(engines/gpencil/shaders/fx/gpencil_fx_glow_resolve_frag.glsl SRC)
-data_to_c_simple(engines/gpencil/shaders/fx/gpencil_fx_pixel_frag.glsl SRC)
-data_to_c_simple(engines/gpencil/shaders/fx/gpencil_fx_rim_prepare_frag.glsl SRC)
-data_to_c_simple(engines/gpencil/shaders/fx/gpencil_fx_rim_resolve_frag.glsl SRC)
-data_to_c_simple(engines/gpencil/shaders/fx/gpencil_fx_shadow_prepare_frag.glsl SRC)
-data_to_c_simple(engines/gpencil/shaders/fx/gpencil_fx_shadow_resolve_frag.glsl SRC)
-data_to_c_simple(engines/gpencil/shaders/fx/gpencil_fx_swirl_frag.glsl SRC)
-data_to_c_simple(engines/gpencil/shaders/fx/gpencil_fx_wave_frag.glsl SRC)
-
 data_to_c_simple(engines/select/shaders/selection_id_3D_vert.glsl SRC)
 data_to_c_simple(engines/select/shaders/selection_id_frag.glsl SRC)
 
diff --git a/source/blender/draw/engines/gpencil/gpencil_engine.c b/source/blender/draw/engines/gpencil/gpencil_engine.c
index 699a86111cc..e5a903a4260 100644
--- a/source/blender/draw/engines/gpencil/gpencil_engine.c
+++ b/source/blender/draw/engines/gpencil/gpencil_engine.c
@@ -52,23 +52,6 @@
 
 #include "UI_resources.h"
 
-extern char datatoc_gpencil_fill_vert_glsl[];
-extern char datatoc_gpencil_fill_frag_glsl[];
-extern char datatoc_gpencil_stroke_vert_glsl[];
-extern char datatoc_gpencil_stroke_geom_glsl[];
-extern char datatoc_gpencil_stroke_frag_glsl[];
-extern char datatoc_gpencil_zdepth_mix_frag_glsl[];
-extern char datatoc_gpencil_simple_mix_frag_glsl[];
-extern char datatoc_gpencil_point_vert_glsl[];
-extern char datatoc_gpencil_point_geom_glsl[];
-extern char datatoc_gpencil_point_frag_glsl[];
-extern char datatoc_gpencil_background_frag_glsl[];
-extern char datatoc_gpencil_paper_frag_glsl[];
-extern char datatoc_gpencil_edit_point_vert_glsl[];
-extern char datatoc_gpencil_edit_point_geom_glsl[];
-extern char datatoc_gpencil_edit_point_frag_glsl[];
-extern char datatoc_gpencil_blend_frag_glsl[];
-
 extern char datatoc_gpu_shader_3D_smooth_color_frag_glsl[];
 
 extern char datatoc_common_colormanagement_lib_glsl[];
@@ -81,204 +64,7 @@ GPENCIL_e_data en_data = {NULL}; /* Engine data */
 
 /* *********** FUNCTIONS *********** */
 
-/* create a multisample buffer if not present */
-void gpencil_multisample_ensure(GPENCIL_Data *vedata, int rect_w, int rect_h)
-{
-  GPENCIL_FramebufferList *fbl = vedata->fbl;
-  GPENCIL_StorageList *stl = ((GPENCIL_Data *)vedata)->stl;
-  GPENCIL_TextureList *txl = ((GPENCIL_Data *)vedata)->txl;
-
-  short samples = stl->storage->multisamples;
-
-  if (samples > 0) {
-    if (!fbl->multisample_fb) {
-      fbl->multisample_fb = GPU_framebuffer_create();
-      if (fbl->multisample_fb) {
-        if (txl->multisample_color == NULL) {
-          txl->multisample_color = GPU_texture_create_2d_multisample(
-              rect_w, rect_h, GPU_RGBA16F, NULL, samples, NULL);
-        }
-        if (txl->multisample_depth == NULL) {
-          txl->multisample_depth = GPU_texture_create_2d_multisample(
-              rect_w, rect_h, GPU_DEPTH24_STENCIL8, NULL, samples, NULL);
-        }
-        GPU_framebuffer_ensure_config(&fbl->multisample_fb,
-                                      {GPU_ATTACHMENT_TEXTURE(txl->multisample_depth),
-                                       GPU_ATTACHMENT_TEXTURE(txl->multisample_color)});
-      }
-    }
-  }
-}
-
-static void GPENCIL_create_framebuffers(void *vedata)
-{
-  GPENCIL_FramebufferList *fbl = ((GPENCIL_Data *)vedata)->fbl;
-  GPENCIL_StorageList *stl = ((GPENCIL_Data *)vedata)->stl;
-  GPENCIL_TextureList *txl = ((GPENCIL_Data *)vedata)->txl;
-
-  /* Go full 32bits for rendering */
-  eGPUTextureFormat fb_format = DRW_state_is_image_render() ? GPU_RGBA32F : GPU_RGBA16F;
-
-  if (DRW_state_is_fbo()) {
-    const float *viewport_size = DRW_viewport_size_get();
-    const int size[2] = {(int)viewport_size[0], (int)viewport_size[1]};
-
-    /* create multisample framebuffer for AA */
-    if ((stl->storage->framebuffer_flag & GP_FRAMEBUFFER_MULTISAMPLE) &&
-        (stl->storage->multisamples > 0)) {
-      gpencil_multisample_ensure(vedata, size[0], size[1]);
-    }
-
-    /* Framebufers for basic object drawing */
-    if (stl->storage->framebuffer_flag & GP_FRAMEBUFFER_BASIC) {
-      /* temp textures for ping-pong buffers */
-      stl->g_data->temp_depth_tx_a = DRW_texture_pool_query_2d(
-          size[0], size[1], GPU_DEPTH24_STENCIL8, &draw_engine_gpencil_type);
-      stl->g_data->temp_color_tx_a = DRW_texture_pool_query_2d(
-          size[0], size[1], fb_format, &draw_engine_gpencil_type);
-      GPU_framebuffer_ensure_config(&fbl->temp_fb_a,
-                                    {
-                                        GPU_ATTACHMENT_TEXTURE(stl->g_data->temp_depth_tx_a),
-                                        GPU_ATTACHMENT_TEXTURE(stl->g_data->temp_color_tx_a),
-                                    });
-
-      stl->g_data->temp_depth_tx_b = DRW_texture_pool_query_2d(
-          size[0], size[1], GPU_DEPTH24_STENCIL8, &draw_engine_gpencil_type);
-      stl->g_data->temp_color_tx_b = DRW_texture_pool_query_2d(
-          size[0], size[1], fb_format, &draw_engine_gpencil_type);
-      GPU_framebuffer_ensure_config(&fbl->temp_fb_b,
-                                    {
-                                        GPU_ATTACHMENT_TEXTURE(stl->g_data->temp_depth_tx_b),
-                                        GPU_ATTACHMENT_TEXTURE(stl->g_data->temp_color_tx_b),
-                                    });
-
-      /* used for FX effects and Layer blending */
-      stl->g_data->temp_depth_tx_fx = DRW_texture_pool_query_2d(
-          size[0], size[1], GPU_DEPTH24_STENCIL8, &draw_engine_gpencil_type);
-      stl->g_data->temp_color_tx_fx = DRW_texture_pool_query_2d(
-          size[0], size[1], fb_format, &draw_engine_gpencil_type);
-      GPU_framebuffer_ensure_config(&fbl->temp_fb_fx,
-                                    {
-                                        GPU_ATTACHMENT_TEXTURE(stl->g_data->temp_depth_tx_fx),
-                                        GPU_ATTACHMENT_TEXTURE(stl->g_data->temp_color_tx_fx),
-                                    });
-    }
-
-    /* background framebuffer to speed up drawing process */
-    if (stl->storage->framebuffer_flag & GP_FRAMEBUFFER_DRAW) {
-      if (txl->background_color_tx == NULL) {
-        stl->storage->background_ready = false;
-      }
-      DRW_texture_ensure_2d(
-          &txl->background_depth_tx, size[0], size[1], GPU_DEPTH_COMPONENT24, DRW_TEX_FILTER);
-      DRW_texture_ensure_2d(
-          &txl->background_color_tx, size[0], size[1], GPU_RGBA16F, DRW_TEX_FILTER);
-      GPU_framebuffer_ensure_config(&fbl->background_fb,
-                                    {
-                                        GPU_ATTACHMENT_TEXTURE(txl->background_depth_tx),
-                                        GPU_ATTACHMENT_TEXTURE(txl->background_color_tx),
-                                    });
-    }
-    else {
-      DRW_TEXTURE_FREE_SAFE(txl->background_depth_tx);
-      DRW_TEXTURE_FREE_SAFE(txl->background_color_tx);
-    }
-  }
-}
-
-static void GPENCIL_create_shaders(void)
-{
-  /* blank texture used if no texture defined for fill shader */
-  if (!e_data.gpencil_blank_texture) {
-    float rect[1][1][4] = {{{0.0f}}};
-    e_data.gpencil_blank_texture = DRW_texture_create_2d(
-        1, 1, GPU_RGBA8, DRW_TEX_FILTER, (float *)rect);
-  }
-  /* normal fill shader */
-  if (!e_data.gpencil_fill_sh) {
-    e_data.gpencil_fill_sh = GPU_shader_create_from_arrays({
-        .vert =
-            (const char *[]){datatoc_common_view_lib_glsl, datatoc_gpencil_fill_vert_glsl, NULL},
-        .frag = (const char *[]){datatoc_common_colormanagement_lib_glsl,
-                                 datatoc_gpencil_fill_frag_glsl,
-                                 NULL},
-    });
-  }
-
-  /* normal stroke shader using geometry to display lines (line mode) */
-  if (!e_data.gpencil_stroke_sh) {
-    e_data.gpencil_stroke_sh = GPU_shader_create_from_arrays({
-        .vert =
-            (const char *[]){datatoc_common_view_lib_glsl, datatoc_gpencil_stroke_vert_glsl, NULL},
-        .geom = (const char *[]){datatoc_gpencil_stroke_geom_glsl, NULL},
-        .frag = (const char *[]){datatoc_common_colormanagement_lib_glsl,
-                                 dat

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list