Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/space_node/node_edit.c
| Show First 20 Lines • Show All 694 Lines • ▼ Show 20 Lines | else if (ntree->type == NTREE_COMPOSIT) { | ||||
| node->id = (ID *)BKE_image_verify_viewer(IMA_TYPE_COMPOSITE, "Viewer Node"); | node->id = (ID *)BKE_image_verify_viewer(IMA_TYPE_COMPOSITE, "Viewer Node"); | ||||
| } | } | ||||
| else if (node->type == CMP_NODE_R_LAYERS) { | else if (node->type == CMP_NODE_R_LAYERS) { | ||||
| Scene *scene; | Scene *scene; | ||||
| for (scene = bmain->scene.first; scene; scene = scene->id.next) { | for (scene = bmain->scene.first; scene; scene = scene->id.next) { | ||||
| if (scene->nodetree && scene->use_nodes && ntreeHasTree(scene->nodetree, ntree)) { | if (scene->nodetree && scene->use_nodes && ntreeHasTree(scene->nodetree, ntree)) { | ||||
| if (node->id == NULL || node->id == (ID *)scene) { | if (node->id == NULL || node->id == (ID *)scene) { | ||||
| int num_layers = BLI_listbase_count(&scene->render_layers); | int num_layers = BLI_listbase_count(&scene->view_layers); | ||||
| scene->active_layer = node->custom1; | scene->active_view_layer = node->custom1; | ||||
| /* Clamp the value, because it might have come from a different | /* Clamp the value, because it might have come from a different | ||||
| * scene which could have more render layers than new one. | * scene which could have more render layers than new one. | ||||
| */ | */ | ||||
| scene->active_layer = min_ff(scene->active_layer, num_layers - 1); | scene->active_view_layer = min_ff(scene->active_view_layer, num_layers - 1); | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| else if (node->type == CMP_NODE_COMPOSITE) { | else if (node->type == CMP_NODE_COMPOSITE) { | ||||
| if (was_output == 0) { | if (was_output == 0) { | ||||
| bNode *tnode; | bNode *tnode; | ||||
| ▲ Show 20 Lines • Show All 554 Lines • ▼ Show 20 Lines | bool ED_node_select_check(ListBase *lb) | ||||
| return false; | return false; | ||||
| } | } | ||||
| /* ******************************** */ | /* ******************************** */ | ||||
| // XXX some code needing updating to operators... | // XXX some code needing updating to operators... | ||||
| /* goes over all scenes, reads render layers */ | /* goes over all scenes, reads render layers */ | ||||
| static int node_read_renderlayers_exec(bContext *C, wmOperator *UNUSED(op)) | static int node_read_viewlayers_exec(bContext *C, wmOperator *UNUSED(op)) | ||||
| { | { | ||||
| Main *bmain = CTX_data_main(C); | Main *bmain = CTX_data_main(C); | ||||
| SpaceNode *snode = CTX_wm_space_node(C); | SpaceNode *snode = CTX_wm_space_node(C); | ||||
| Scene *curscene = CTX_data_scene(C), *scene; | Scene *curscene = CTX_data_scene(C), *scene; | ||||
| bNode *node; | bNode *node; | ||||
| ED_preview_kill_jobs(CTX_wm_manager(C), bmain); | ED_preview_kill_jobs(CTX_wm_manager(C), bmain); | ||||
| Show All 13 Lines | static int node_read_viewlayers_exec(bContext *C, wmOperator *UNUSED(op)) | ||||
| } | } | ||||
| snode_notify(C, snode); | snode_notify(C, snode); | ||||
| snode_dag_update(C, snode); | snode_dag_update(C, snode); | ||||
| return OPERATOR_FINISHED; | return OPERATOR_FINISHED; | ||||
| } | } | ||||
| void NODE_OT_read_renderlayers(wmOperatorType *ot) | void NODE_OT_read_viewlayers(wmOperatorType *ot) | ||||
| { | { | ||||
| ot->name = "Read Render Layers"; | ot->name = "Read View Layers"; | ||||
| ot->idname = "NODE_OT_read_renderlayers"; | ot->idname = "NODE_OT_read_viewlayers"; | ||||
| ot->description = "Read all render layers of all used scenes"; | ot->description = "Read all render layers of all used scenes"; | ||||
| ot->exec = node_read_renderlayers_exec; | ot->exec = node_read_viewlayers_exec; | ||||
| ot->poll = composite_node_active; | ot->poll = composite_node_active; | ||||
| /* flags */ | /* flags */ | ||||
| ot->flag = 0; | ot->flag = 0; | ||||
| } | } | ||||
| static int node_read_fullsamplelayers_exec(bContext *C, wmOperator *UNUSED(op)) | static int node_read_fullsamplelayers_exec(bContext *C, wmOperator *UNUSED(op)) | ||||
| Show All 36 Lines | int node_render_changed_exec(bContext *C, wmOperator *UNUSED(op)) | ||||
| bNode *node; | bNode *node; | ||||
| for (node = sce->nodetree->nodes.first; node; node = node->next) { | for (node = sce->nodetree->nodes.first; node; node = node->next) { | ||||
| if (node->id == (ID *)sce && node->need_exec) { | if (node->id == (ID *)sce && node->need_exec) { | ||||
| break; | break; | ||||
| } | } | ||||
| } | } | ||||
| if (node) { | if (node) { | ||||
| SceneLayer *scene_layer = BLI_findlink(&sce->render_layers, node->custom1); | ViewLayer *view_layer = BLI_findlink(&sce->view_layers, node->custom1); | ||||
| if (scene_layer) { | if (view_layer) { | ||||
| PointerRNA op_ptr; | PointerRNA op_ptr; | ||||
| WM_operator_properties_create(&op_ptr, "RENDER_OT_render"); | WM_operator_properties_create(&op_ptr, "RENDER_OT_render"); | ||||
| RNA_string_set(&op_ptr, "layer", scene_layer->name); | RNA_string_set(&op_ptr, "layer", view_layer->name); | ||||
| RNA_string_set(&op_ptr, "scene", sce->id.name + 2); | RNA_string_set(&op_ptr, "scene", sce->id.name + 2); | ||||
| /* to keep keypositions */ | /* to keep keypositions */ | ||||
| sce->r.scemode |= R_NO_FRAME_UPDATE; | sce->r.scemode |= R_NO_FRAME_UPDATE; | ||||
| WM_operator_name_call(C, "RENDER_OT_render", WM_OP_INVOKE_DEFAULT, &op_ptr); | WM_operator_name_call(C, "RENDER_OT_render", WM_OP_INVOKE_DEFAULT, &op_ptr); | ||||
| WM_operator_properties_free(&op_ptr); | WM_operator_properties_free(&op_ptr); | ||||
| ▲ Show 20 Lines • Show All 1,226 Lines • Show Last 20 Lines | |||||