[Bf-blender-cvs] [30096e1e18c] greasepencil-object: Extract Render code to separated function

Antonio Vazquez noreply at git.blender.org
Tue Feb 20 17:02:21 CET 2018


Commit: 30096e1e18c64b24bc06fe0a89c6155c1bb7bf76
Author: Antonio Vazquez
Date:   Tue Feb 20 10:25:30 2018 +0100
Branches: greasepencil-object
https://developer.blender.org/rB30096e1e18c64b24bc06fe0a89c6155c1bb7bf76

Extract Render code to separated function

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

M	source/blender/draw/intern/DRW_render.h
M	source/blender/draw/intern/draw_manager.c

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

diff --git a/source/blender/draw/intern/DRW_render.h b/source/blender/draw/intern/DRW_render.h
index aefcd5cedcf..5aa8392b80b 100644
--- a/source/blender/draw/intern/DRW_render.h
+++ b/source/blender/draw/intern/DRW_render.h
@@ -412,6 +412,7 @@ struct DefaultTextureList     *DRW_viewport_texture_list_get(void);
 void DRW_viewport_request_redraw(void);
 
 void DRW_render_to_image(struct RenderEngine *re, struct Depsgraph *depsgraph);
+void DRW_render_gpencil_to_image(struct RenderEngine *re, struct Depsgraph *depsgraph);
 void DRW_render_object_iter(
 	void *vedata, struct RenderEngine *engine, struct Depsgraph *graph,
 	void (*callback)(void *vedata, struct Object *ob, struct RenderEngine *engine, struct Depsgraph *graph));
diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c
index 212cd616034..114e7e2d140 100644
--- a/source/blender/draw/intern/draw_manager.c
+++ b/source/blender/draw/intern/draw_manager.c
@@ -3651,6 +3651,17 @@ static bool DRW_render_check_object_type(struct Depsgraph *depsgraph, short obty
 	return false;
 }
 
+void DRW_render_gpencil_to_image(RenderEngine *re, struct Depsgraph *depsgraph)
+{
+	if (draw_engine_gpencil_type.render_to_image) {
+		if (DRW_render_check_object_type(depsgraph, OB_GPENCIL)) {
+			ViewportEngineData *gpdata = DRW_viewport_engine_data_ensure(&draw_engine_gpencil_type);
+			draw_engine_gpencil_type.render_to_image(gpdata, re, depsgraph);
+		}
+	}
+
+}
+
 void DRW_render_to_image(RenderEngine *re, struct Depsgraph *depsgraph)
 {
 	Scene *scene = DEG_get_evaluated_scene(depsgraph);
@@ -3699,15 +3710,8 @@ void DRW_render_to_image(RenderEngine *re, struct Depsgraph *depsgraph)
 		engine_type->draw_engine->render_to_image(data, re, depsgraph);
 	}
 
-	/* grease pencil 
-	 * the grease pencil render result is merged in the previous render result.
-	 */
-	if (draw_engine_gpencil_type.render_to_image) {
-		if (DRW_render_check_object_type(depsgraph, OB_GPENCIL)) {
-			ViewportEngineData *gpdata = DRW_viewport_engine_data_ensure(&draw_engine_gpencil_type);
-			draw_engine_gpencil_type.render_to_image(gpdata, re, depsgraph);
-		}
-	}
+	/* grease pencil: render result is merged in the previous render result. */
+	DRW_render_gpencil_to_image(re, depsgraph);
 
 	DST.buffer_finish_called = false;



More information about the Bf-blender-cvs mailing list