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:
authorDalai Felinto <dfelinto@gmail.com>2017-05-04 16:46:09 +0300
committerDalai Felinto <dfelinto@gmail.com>2017-05-04 17:59:58 +0300
commita3d8ef059cf831ec032977079a837214e7c92122 (patch)
treea5c878afa23dae03e0952142e6d91d9751237f7c /source/blender/draw/engines/external/external_engine.c
parent6ea45da05c1d42253c84a8603f4b08342adee4e4 (diff)
Draw Manager: Implement render info for external engines
This can be used by any engine actually. For example to give feedback regarding probe caching in Eevee, .... Unline master, we try to conciliate both the original viewport info (FPS, view name) and the render info. Note: I had to split the function in two because the camera alpha passepartout is handled inside the view3d_draw_region_info function. Review: Campbell Barton and Clement Foucault. Thanks to Sergey Sharybin and Pablo Vazquez for some of the design discussions.
Diffstat (limited to 'source/blender/draw/engines/external/external_engine.c')
-rw-r--r--source/blender/draw/engines/external/external_engine.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/source/blender/draw/engines/external/external_engine.c b/source/blender/draw/engines/external/external_engine.c
index 7b6b4e51147..6a530cccb6e 100644
--- a/source/blender/draw/engines/external/external_engine.c
+++ b/source/blender/draw/engines/external/external_engine.c
@@ -80,6 +80,7 @@ typedef struct EXTERNAL_Data {
EXTERNAL_TextureList *txl;
EXTERNAL_PassList *psl;
EXTERNAL_StorageList *stl;
+ char info[GPU_INFO_SIZE];
} EXTERNAL_Data;
/* *********** STATIC *********** */
@@ -138,7 +139,7 @@ static void EXTERNAL_cache_finish(void *UNUSED(vedata))
{
}
-static void external_draw_scene(void *UNUSED(vedata))
+static void external_draw_scene(void *vedata)
{
const DRWContextState *draw_ctx = DRW_context_state_get();
Scene *scene = draw_ctx->scene;
@@ -173,6 +174,15 @@ static void external_draw_scene(void *UNUSED(vedata))
type->render_to_view(rv3d->render_engine, draw_ctx->evil_C);
gpuPopProjectionMatrix();
+
+ /* Set render info. */
+ EXTERNAL_Data *data = vedata;
+ if (rv3d->render_engine->text) {
+ BLI_strncpy(data->info, rv3d->render_engine->text, sizeof(data->info));
+ }
+ else {
+ data->info[0] = '\0';
+ }
}
static void EXTERNAL_draw_scene(void *vedata)