[Bf-blender-cvs] [0a5c958275a] greasepencil-object: Cleanup: More work to structure code

Antonio Vazquez noreply at git.blender.org
Wed Apr 4 16:17:18 CEST 2018


Commit: 0a5c958275a262709a8b87067c9cbf2489e74cf2
Author: Antonio Vazquez
Date:   Wed Apr 4 16:07:22 2018 +0200
Branches: greasepencil-object
https://developer.blender.org/rB0a5c958275a262709a8b87067c9cbf2489e74cf2

Cleanup: More work to structure code

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

M	source/blender/draw/engines/gpencil/gpencil_engine.c

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

diff --git a/source/blender/draw/engines/gpencil/gpencil_engine.c b/source/blender/draw/engines/gpencil/gpencil_engine.c
index d0cd9e01e41..3368b905359 100644
--- a/source/blender/draw/engines/gpencil/gpencil_engine.c
+++ b/source/blender/draw/engines/gpencil/gpencil_engine.c
@@ -81,11 +81,7 @@ static GPENCIL_e_data e_data = {NULL}; /* Engine data */
 /* *********** FUNCTIONS *********** */
 static void GPENCIL_create_framebuffers(void *vedata)
 {
-	GPENCIL_StorageList *stl = ((GPENCIL_Data *)vedata)->stl;
 	GPENCIL_FramebufferList *fbl = ((GPENCIL_Data *)vedata)->fbl;
-	const DRWContextState *draw_ctx = DRW_context_state_get();
-	View3D *v3d = draw_ctx->v3d;
-	RegionView3D *rv3d = draw_ctx->rv3d;
 
 	/* Go full 32bits for rendering */
 	DRWTextureFormat fb_format = DRW_state_is_image_render() ? DRW_TEX_RGBA_32 : DRW_TEX_RGBA_16;
@@ -215,13 +211,33 @@ static void GPENCIL_create_shaders(void)
 	}
 }
 
-static void GPENCIL_engine_init(void *vedata)
+static void GPENCIL_init_dof(void *vedata)
 {
 	GPENCIL_StorageList *stl = ((GPENCIL_Data *)vedata)->stl;
-	GPENCIL_FramebufferList *fbl = ((GPENCIL_Data *)vedata)->fbl;
+
 	const DRWContextState *draw_ctx = DRW_context_state_get();
 	View3D *v3d = draw_ctx->v3d;
 	RegionView3D *rv3d = draw_ctx->rv3d;
+	ViewLayer *view_layer = draw_ctx->view_layer;
+	IDProperty *props = BKE_view_layer_engine_evaluated_get(view_layer, COLLECTION_MODE_NONE, RE_engine_id_BLENDER_EEVEE);
+
+	if ((DRW_state_is_opengl_render()) || (!DRW_state_is_image_render())) {
+		/* viewport and opengl render */
+		stl->storage->enable_dof = GP_IS_CAMERAVIEW && BKE_collection_engine_property_value_get_bool(props, "dof_enable");
+		if (stl->storage->enable_dof == true) {
+			Object *camera = (rv3d->persp == RV3D_CAMOB) ? v3d->camera : NULL;
+			GPENCIL_depth_of_field_init(&draw_engine_gpencil_type, &e_data, vedata, camera);
+		}
+	}
+	else {
+		/* render F12 */
+		stl->storage->enable_dof = BKE_collection_engine_property_value_get_bool(props, "dof_enable");
+	}
+}
+
+static void GPENCIL_engine_init(void *vedata)
+{
+	GPENCIL_StorageList *stl = ((GPENCIL_Data *)vedata)->stl;
 	
 	/* create framebuffers */
 	GPENCIL_create_framebuffers(vedata);
@@ -229,10 +245,12 @@ static void GPENCIL_engine_init(void *vedata)
 	/* create shaders */
 	GPENCIL_create_shaders();
 
+	/* init storage */
 	if (!stl->storage) {
 		stl->storage = MEM_callocN(sizeof(GPENCIL_Storage), "GPENCIL_Storage");
 	}
 
+	/* unit matrix */
 	unit_m4(stl->storage->unit_matrix);
 
 	/* blank texture used if no texture defined for fill shader */
@@ -241,20 +259,7 @@ static void GPENCIL_engine_init(void *vedata)
 	}
 
 	/* init depth of field */ 
-	ViewLayer *view_layer = draw_ctx->view_layer;
-	IDProperty *props = BKE_view_layer_engine_evaluated_get(view_layer, COLLECTION_MODE_NONE, RE_engine_id_BLENDER_EEVEE);
-	if ((DRW_state_is_opengl_render()) || (!DRW_state_is_image_render())) {
-		/* viewport and opengl render */
-		stl->storage->enable_dof = GP_IS_CAMERAVIEW && BKE_collection_engine_property_value_get_bool(props, "dof_enable");
-		if (stl->storage->enable_dof == true) {
-			Object *camera = (rv3d->persp == RV3D_CAMOB) ? v3d->camera : NULL;
-			GPENCIL_depth_of_field_init(&draw_engine_gpencil_type, &e_data, vedata, camera);
-		}
-	}
-	else {
-		/* render F12 */
-		stl->storage->enable_dof = BKE_collection_engine_property_value_get_bool(props, "dof_enable");
-	}
+	GPENCIL_init_dof(vedata);
 }
 
 static void GPENCIL_engine_free(void)



More information about the Bf-blender-cvs mailing list