[Bf-blender-cvs] [1b6c21c03ba] blender2.8: Workaround external engines with OpenGL rendering

Campbell Barton noreply at git.blender.org
Tue May 2 21:00:31 CEST 2017


Commit: 1b6c21c03ba078533e0c935acfc6cf61d37006bd
Author: Campbell Barton
Date:   Wed May 3 04:59:15 2017 +1000
Branches: blender2.8
https://developer.blender.org/rB1b6c21c03ba078533e0c935acfc6cf61d37006bd

Workaround external engines with OpenGL rendering

For now just do the OpenGL render and don't render using the engine.
This is a slightly odd-use case since it makes more sense to do a regular render.

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

M	source/blender/draw/engines/external/external_engine.c
M	source/blender/draw/intern/draw_manager.c

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

diff --git a/source/blender/draw/engines/external/external_engine.c b/source/blender/draw/engines/external/external_engine.c
index ad7c8ce7da3..34ca92038d1 100644
--- a/source/blender/draw/engines/external/external_engine.c
+++ b/source/blender/draw/engines/external/external_engine.c
@@ -175,8 +175,15 @@ static void external_draw_scene(void *UNUSED(vedata))
 
 static void EXTERNAL_draw_scene(void *vedata)
 {
+	const DRWContextState *draw_ctx = DRW_context_state_get();
 	EXTERNAL_PassList *psl = ((EXTERNAL_Data *)vedata)->psl;
-	external_draw_scene(vedata);
+
+	/* Will be NULL during OpenGL render.
+	 * OpenGL render is used for quick preview (thumbnails or sequencer preview)
+	 * where using the rendering engine to preview doesn't make so much sense. */
+	if (draw_ctx->evil_C) {
+		external_draw_scene(vedata);
+	}
 	DRW_draw_pass(psl->depth_pass);
 }
 
diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c
index 23293395fd4..06cebab1c72 100644
--- a/source/blender/draw/intern/draw_manager.c
+++ b/source/blender/draw/intern/draw_manager.c
@@ -2188,9 +2188,7 @@ void DRW_draw_view(const bContext *C)
 }
 
 /**
- * Used for both regular drawing and off-screen drawing.
- *
- * \param ofs: When not NULL, use this data to create the viewport.
+ * Used for both regular and off-screen drawing.
  */
 void DRW_draw_render_loop(
         struct Depsgraph *graph,




More information about the Bf-blender-cvs mailing list