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->r.layers); | int num_layers = BLI_listbase_count(&scene->render_layers); | ||||
| scene->r.actlay = node->custom1; | scene->active_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->r.actlay = min_ff(scene->r.actlay, num_layers - 1); | scene->active_layer = min_ff(scene->active_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 644 Lines • ▼ Show 20 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) { | ||||
| SceneRenderLayer *srl = BLI_findlink(&sce->r.layers, node->custom1); | SceneLayer *scene_layer = BLI_findlink(&sce->render_layers, node->custom1); | ||||
| if (srl) { | if (scene_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", srl->name); | RNA_string_set(&op_ptr, "layer", scene_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 | |||||