Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2017-05-02 21:59:15 +0300
committerCampbell Barton <ideasman42@gmail.com>2017-05-02 22:06:13 +0300
commit1b6c21c03ba078533e0c935acfc6cf61d37006bd (patch)
tree21f14e2170c6ac264ef845c2af2236b7d2f9828a
parent075638f85cc0056fb6b50ac5a40fe8b2e217a8b5 (diff)
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.
-rw-r--r--source/blender/draw/engines/external/external_engine.c9
-rw-r--r--source/blender/draw/intern/draw_manager.c4
2 files changed, 9 insertions, 4 deletions
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,