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:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2011-11-02 19:15:45 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2011-11-02 19:15:45 +0400
commit02fae3440c8b4b89aa0f9412bc4e0db60a787c13 (patch)
treecd7230e43d5a5a6a3d0da92216bee8f12aeda4ca /source/blender/makesrna/intern/rna_render.c
parentbb379c06e914c0a38910343fbee9595fe1dac2c3 (diff)
Cycles: RenderEngine api code tweaks, also ensuring it's backwards compatible.
Diffstat (limited to 'source/blender/makesrna/intern/rna_render.c')
-rw-r--r--source/blender/makesrna/intern/rna_render.c37
1 files changed, 24 insertions, 13 deletions
diff --git a/source/blender/makesrna/intern/rna_render.c b/source/blender/makesrna/intern/rna_render.c
index da6cd02cfbc..ef9bf6a9e02 100644
--- a/source/blender/makesrna/intern/rna_render.c
+++ b/source/blender/makesrna/intern/rna_render.c
@@ -48,18 +48,18 @@
#include "BKE_context.h"
#include "BKE_report.h"
+/* RenderEngine Callbacks */
+
void engine_tag_redraw(RenderEngine *engine)
{
- engine->do_draw = 1;
+ engine->flag |= RE_ENGINE_DO_DRAW;
}
void engine_tag_update(RenderEngine *engine)
{
- engine->do_update = 1;
+ engine->flag |= RE_ENGINE_DO_UPDATE;
}
-/* RenderEngine Callbacks */
-
static void engine_update(RenderEngine *engine, Main *bmain, Scene *scene)
{
extern FunctionRNA rna_RenderEngine_update_func;
@@ -78,7 +78,7 @@ static void engine_update(RenderEngine *engine, Main *bmain, Scene *scene)
RNA_parameter_list_free(&list);
}
-static void engine_render(RenderEngine *engine)
+static void engine_render(RenderEngine *engine, struct Scene *scene)
{
extern FunctionRNA rna_RenderEngine_render_func;
PointerRNA ptr;
@@ -89,6 +89,7 @@ static void engine_render(RenderEngine *engine)
func= &rna_RenderEngine_render_func;
RNA_parameter_list_create(&list, &ptr, func);
+ RNA_parameter_set_lookup(&list, "scene", &scene);
engine->type->ext.call(NULL, &ptr, func, &list);
RNA_parameter_list_free(&list);
@@ -314,41 +315,44 @@ static void rna_def_render_engine(BlenderRNA *brna)
/* final render callbacks */
func= RNA_def_function(srna, "update", NULL);
RNA_def_function_ui_description(func, "Export scene data for render");
- RNA_def_function_flag(func, FUNC_REGISTER);
+ RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL);
RNA_def_pointer(func, "data", "BlendData", "", "");
RNA_def_pointer(func, "scene", "Scene", "", "");
func= RNA_def_function(srna, "render", NULL);
- RNA_def_function_ui_description(func, "Execute render");
- RNA_def_function_flag(func, FUNC_REGISTER);
+ RNA_def_function_ui_description(func, "Render scene into an image");
+ RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL);
+ RNA_def_pointer(func, "scene", "Scene", "", "");
/* preview render callbacks */
func= RNA_def_function(srna, "preview_update", NULL);
RNA_def_function_ui_description(func, "Export scene data for preview render of the given datablock");
- RNA_def_function_flag(func, FUNC_REGISTER);
+ RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL);
RNA_def_pointer(func, "context", "Context", "", "");
RNA_def_pointer(func, "id", "ID", "", "");
func= RNA_def_function(srna, "preview_render", NULL);
RNA_def_function_ui_description(func, "Execute preview render");
- RNA_def_function_flag(func, FUNC_REGISTER);
+ RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL);
/* viewport render callbacks */
func= RNA_def_function(srna, "view_update", NULL);
RNA_def_function_ui_description(func, "Update on data changes for viewport render");
- RNA_def_function_flag(func, FUNC_REGISTER);
+ RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL);
RNA_def_pointer(func, "context", "Context", "", "");
func= RNA_def_function(srna, "view_draw", NULL);
RNA_def_function_ui_description(func, "Draw viewport render");
- RNA_def_function_flag(func, FUNC_REGISTER);
+ RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL);
RNA_def_pointer(func, "context", "Context", "", "");
/* tag for redraw */
RNA_def_function(srna, "tag_redraw", "engine_tag_redraw");
+ RNA_def_function_ui_description(func, "Request redraw for viewport rendering");
/* tag for update */
RNA_def_function(srna, "tag_update", "engine_tag_update");
+ RNA_def_function_ui_description(func, "Request update call for viewport rendering");
func= RNA_def_function(srna, "begin_result", "RE_engine_begin_result");
prop= RNA_def_int(func, "x", 0, 0, INT_MAX, "X", "", 0, INT_MAX);
@@ -390,9 +394,16 @@ static void rna_def_render_engine(BlenderRNA *brna)
prop= RNA_def_string(func, "message", "", 0, "Report Message", "");
RNA_def_property_flag(prop, PROP_REQUIRED);
- /* registration */
RNA_define_verify_sdna(0);
+ prop= RNA_def_property(srna, "is_animation", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", RE_ENGINE_ANIMATION);
+
+ prop= RNA_def_property(srna, "is_preview", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", RE_ENGINE_PREVIEW);
+
+ /* registration */
+
prop= RNA_def_property(srna, "bl_idname", PROP_STRING, PROP_NONE);
RNA_def_property_string_sdna(prop, NULL, "type->idname");
RNA_def_property_flag(prop, PROP_REGISTER|PROP_NEVER_CLAMP);