[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