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:
authorSergey Sharybin <sergey.vfx@gmail.com>2017-02-06 19:23:02 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2017-10-31 17:05:53 +0300
commit022fd3212658daff11b8f9105db715b617e3419d (patch)
treea3a75fbb58f612beeb58fc7ad745f271bf45fc9f /source/blender/makesrna/intern/rna_render.c
parent040ea955177bd5b1d8767e247aa0a3d68815c50b (diff)
Add ability for render engines to report extra meta data to pipeline
Diffstat (limited to 'source/blender/makesrna/intern/rna_render.c')
-rw-r--r--source/blender/makesrna/intern/rna_render.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/source/blender/makesrna/intern/rna_render.c b/source/blender/makesrna/intern/rna_render.c
index cb86dd17d63..d3b3ed51981 100644
--- a/source/blender/makesrna/intern/rna_render.c
+++ b/source/blender/makesrna/intern/rna_render.c
@@ -34,6 +34,7 @@
#include "BLI_path_util.h"
#include "BKE_scene.h"
+#include "BKE_image.h"
#include "RNA_define.h"
#include "RNA_enum_types.h"
@@ -401,6 +402,12 @@ static void rna_RenderResult_layers_begin(CollectionPropertyIterator *iter, Poin
rna_iterator_listbase_begin(iter, &rr->layers, NULL);
}
+static void rna_RenderResult_stamp_data_add_field(RenderResult *rr, const char *field, const char *value)
+{
+ BKE_render_result_stamp_data(rr, field, value);
+}
+
+
static void rna_RenderLayer_passes_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{
RenderLayer *rl = (RenderLayer *)ptr->data;
@@ -574,6 +581,10 @@ static void rna_def_render_engine(BlenderRNA *brna)
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
RNA_def_string(func, "layer", NULL, 0, "Layer", "Single layer to add render pass to"); /* NULL ok here */
+ func = RNA_def_function(srna, "get_result", "RE_engine_get_result");
+ RNA_def_function_ui_description(func, "Get final result for non-pixel operations");
+ parm = RNA_def_pointer(func, "result", "RenderResult", "Result", "");
+ RNA_def_function_return(func, parm);
func = RNA_def_function(srna, "test_break", "RE_engine_test_break");
RNA_def_function_ui_description(func, "Test if the render operation should been canceled, this is a fast call that should be used regularly for responsiveness");
@@ -784,6 +795,13 @@ static void rna_def_render_result(BlenderRNA *brna)
"the render result");
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
+ func = RNA_def_function(srna, "stamp_data_add_field", "rna_RenderResult_stamp_data_add_field");
+ RNA_def_function_ui_description(func, "Add engine-specific stamp data to the result");
+ parm = RNA_def_string(func, "field", NULL, 1024, "Field", "Name of the stamp field to add");
+ RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
+ parm = RNA_def_string(func, "value", NULL, 1024, "Value", "Value of the stamp data");
+ RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
+
RNA_define_verify_sdna(0);
prop = RNA_def_property(srna, "resolution_x", PROP_INT, PROP_PIXEL);