Changeset View
Changeset View
Standalone View
Standalone View
source/blender/makesrna/intern/rna_render.c
| Show First 20 Lines • Show All 173 Lines • ▼ Show 20 Lines | static void engine_render(RenderEngine *engine, Depsgraph *depsgraph) | ||||
| RNA_parameter_list_create(&list, &ptr, func); | RNA_parameter_list_create(&list, &ptr, func); | ||||
| RNA_parameter_set_lookup(&list, "depsgraph", &depsgraph); | RNA_parameter_set_lookup(&list, "depsgraph", &depsgraph); | ||||
| engine->type->rna_ext.call(NULL, &ptr, func, &list); | engine->type->rna_ext.call(NULL, &ptr, func, &list); | ||||
| RNA_parameter_list_free(&list); | RNA_parameter_list_free(&list); | ||||
| } | } | ||||
| static void engine_draw(RenderEngine *engine, const struct bContext *context, Depsgraph *depsgraph) | |||||
| { | |||||
| extern FunctionRNA rna_RenderEngine_draw_func; | |||||
| PointerRNA ptr; | |||||
| ParameterList list; | |||||
| FunctionRNA *func; | |||||
| RNA_pointer_create(NULL, engine->type->rna_ext.srna, engine, &ptr); | |||||
| func = &rna_RenderEngine_draw_func; | |||||
| RNA_parameter_list_create(&list, &ptr, func); | |||||
| RNA_parameter_set_lookup(&list, "context", &context); | |||||
| RNA_parameter_set_lookup(&list, "depsgraph", &depsgraph); | |||||
| engine->type->rna_ext.call(NULL, &ptr, func, &list); | |||||
| RNA_parameter_list_free(&list); | |||||
| } | |||||
| static void engine_bake(RenderEngine *engine, | static void engine_bake(RenderEngine *engine, | ||||
| struct Depsgraph *depsgraph, | struct Depsgraph *depsgraph, | ||||
| struct Object *object, | struct Object *object, | ||||
| const int pass_type, | const int pass_type, | ||||
| const int pass_filter, | const int pass_filter, | ||||
| const int width, | const int width, | ||||
| const int height) | const int height) | ||||
| { | { | ||||
| ▲ Show 20 Lines • Show All 122 Lines • ▼ Show 20 Lines | static StructRNA *rna_RenderEngine_register(Main *bmain, | ||||
| const char *identifier, | const char *identifier, | ||||
| StructValidateFunc validate, | StructValidateFunc validate, | ||||
| StructCallbackFunc call, | StructCallbackFunc call, | ||||
| StructFreeFunc free) | StructFreeFunc free) | ||||
| { | { | ||||
| RenderEngineType *et, dummyet = {NULL}; | RenderEngineType *et, dummyet = {NULL}; | ||||
| RenderEngine dummyengine = {NULL}; | RenderEngine dummyengine = {NULL}; | ||||
| PointerRNA dummyptr; | PointerRNA dummyptr; | ||||
| int have_function[8]; | int have_function[9]; | ||||
| /* setup dummy engine & engine type to store static properties in */ | /* setup dummy engine & engine type to store static properties in */ | ||||
| dummyengine.type = &dummyet; | dummyengine.type = &dummyet; | ||||
| dummyet.flag |= RE_USE_SHADING_NODES_CUSTOM; | dummyet.flag |= RE_USE_SHADING_NODES_CUSTOM; | ||||
| RNA_pointer_create(NULL, &RNA_RenderEngine, &dummyengine, &dummyptr); | RNA_pointer_create(NULL, &RNA_RenderEngine, &dummyengine, &dummyptr); | ||||
| /* validate the python class */ | /* validate the python class */ | ||||
| if (validate(&dummyptr, data, have_function) != 0) { | if (validate(&dummyptr, data, have_function) != 0) { | ||||
| Show All 26 Lines | static StructRNA *rna_RenderEngine_register(Main *bmain, | ||||
| et->rna_ext.srna = RNA_def_struct_ptr(&BLENDER_RNA, et->idname, &RNA_RenderEngine); | et->rna_ext.srna = RNA_def_struct_ptr(&BLENDER_RNA, et->idname, &RNA_RenderEngine); | ||||
| et->rna_ext.data = data; | et->rna_ext.data = data; | ||||
| et->rna_ext.call = call; | et->rna_ext.call = call; | ||||
| et->rna_ext.free = free; | et->rna_ext.free = free; | ||||
| RNA_struct_blender_type_set(et->rna_ext.srna, et); | RNA_struct_blender_type_set(et->rna_ext.srna, et); | ||||
| et->update = (have_function[0]) ? engine_update : NULL; | et->update = (have_function[0]) ? engine_update : NULL; | ||||
| et->render = (have_function[1]) ? engine_render : NULL; | et->render = (have_function[1]) ? engine_render : NULL; | ||||
| et->bake = (have_function[2]) ? engine_bake : NULL; | et->draw = (have_function[2]) ? engine_draw : NULL; | ||||
| et->view_update = (have_function[3]) ? engine_view_update : NULL; | et->bake = (have_function[3]) ? engine_bake : NULL; | ||||
| et->view_draw = (have_function[4]) ? engine_view_draw : NULL; | et->view_update = (have_function[4]) ? engine_view_update : NULL; | ||||
| et->update_script_node = (have_function[5]) ? engine_update_script_node : NULL; | et->view_draw = (have_function[5]) ? engine_view_draw : NULL; | ||||
| et->update_render_passes = (have_function[6]) ? engine_update_render_passes : NULL; | et->update_script_node = (have_function[6]) ? engine_update_script_node : NULL; | ||||
| et->update_render_passes = (have_function[7]) ? engine_update_render_passes : NULL; | |||||
| RE_engines_register(et); | RE_engines_register(et); | ||||
| return et->rna_ext.srna; | return et->rna_ext.srna; | ||||
| } | } | ||||
| static void **rna_RenderEngine_instance(PointerRNA *ptr) | static void **rna_RenderEngine_instance(PointerRNA *ptr) | ||||
| { | { | ||||
| ▲ Show 20 Lines • Show All 140 Lines • ▼ Show 20 Lines | static void rna_def_render_engine(BlenderRNA *brna) | ||||
| RNA_def_pointer(func, "depsgraph", "Depsgraph", "", ""); | RNA_def_pointer(func, "depsgraph", "Depsgraph", "", ""); | ||||
| func = RNA_def_function(srna, "render", NULL); | func = RNA_def_function(srna, "render", NULL); | ||||
| RNA_def_function_ui_description(func, "Render scene into an image"); | RNA_def_function_ui_description(func, "Render scene into an image"); | ||||
| RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL | FUNC_ALLOW_WRITE); | RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL | FUNC_ALLOW_WRITE); | ||||
| parm = RNA_def_pointer(func, "depsgraph", "Depsgraph", "", ""); | parm = RNA_def_pointer(func, "depsgraph", "Depsgraph", "", ""); | ||||
| RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); | RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); | ||||
| func = RNA_def_function(srna, "draw", NULL); | |||||
| RNA_def_function_ui_description(func, "Draw render image"); | |||||
| RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL); | |||||
| parm = RNA_def_pointer(func, "context", "Context", "", ""); | |||||
| RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); | |||||
| parm = RNA_def_pointer(func, "depsgraph", "Depsgraph", "", ""); | |||||
| RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); | |||||
| func = RNA_def_function(srna, "bake", NULL); | func = RNA_def_function(srna, "bake", NULL); | ||||
| RNA_def_function_ui_description(func, "Bake passes"); | RNA_def_function_ui_description(func, "Bake passes"); | ||||
| RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL | FUNC_ALLOW_WRITE); | RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL | FUNC_ALLOW_WRITE); | ||||
| parm = RNA_def_pointer(func, "depsgraph", "Depsgraph", "", ""); | parm = RNA_def_pointer(func, "depsgraph", "Depsgraph", "", ""); | ||||
| RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); | RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); | ||||
| parm = RNA_def_pointer(func, "object", "Object", "", ""); | parm = RNA_def_pointer(func, "object", "Object", "", ""); | ||||
| RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); | RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); | ||||
| parm = RNA_def_enum(func, "pass_type", rna_enum_bake_pass_type_items, 0, "Pass", "Pass to bake"); | parm = RNA_def_enum(func, "pass_type", rna_enum_bake_pass_type_items, 0, "Pass", "Pass to bake"); | ||||
| ▲ Show 20 Lines • Show All 106 Lines • ▼ Show 20 Lines | static void rna_def_render_engine(BlenderRNA *brna) | ||||
| func = RNA_def_function(srna, "test_break", "RE_engine_test_break"); | func = RNA_def_function(srna, "test_break", "RE_engine_test_break"); | ||||
| RNA_def_function_ui_description(func, | RNA_def_function_ui_description(func, | ||||
| "Test if the render operation should been canceled, this is a " | "Test if the render operation should been canceled, this is a " | ||||
| "fast call that should be used regularly for responsiveness"); | "fast call that should be used regularly for responsiveness"); | ||||
| parm = RNA_def_boolean(func, "do_break", 0, "Break", ""); | parm = RNA_def_boolean(func, "do_break", 0, "Break", ""); | ||||
| RNA_def_function_return(func, parm); | RNA_def_function_return(func, parm); | ||||
| func = RNA_def_function(srna, "pass_by_index_get", "RE_engine_pass_by_index_get"); | |||||
| parm = RNA_def_string(func, "layer", NULL, 0, "Layer", "Name of render layer to get pass for"); | |||||
| RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); | |||||
| parm = RNA_def_int(func, "index", 0, 0, INT_MAX, "Index", "Index of pass to get", 0, INT_MAX); | |||||
| RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); | |||||
| parm = RNA_def_pointer(func, "render_pass", "RenderPass", "Index", "Index of pass to get"); | |||||
| RNA_def_function_return(func, parm); | |||||
| func = RNA_def_function(srna, "active_view_get", "RE_engine_active_view_get"); | func = RNA_def_function(srna, "active_view_get", "RE_engine_active_view_get"); | ||||
| parm = RNA_def_string(func, "view", NULL, 0, "View", "Single view active"); | parm = RNA_def_string(func, "view", NULL, 0, "View", "Single view active"); | ||||
| RNA_def_function_return(func, parm); | RNA_def_function_return(func, parm); | ||||
| func = RNA_def_function(srna, "active_view_set", "RE_engine_active_view_set"); | func = RNA_def_function(srna, "active_view_set", "RE_engine_active_view_set"); | ||||
| parm = RNA_def_string( | parm = RNA_def_string( | ||||
| func, "view", NULL, 0, "View", "Single view to set as active"); /* NULL ok here */ | func, "view", NULL, 0, "View", "Single view to set as active"); /* NULL ok here */ | ||||
| RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); | RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); | ||||
| ▲ Show 20 Lines • Show All 490 Lines • Show Last 20 Lines | |||||