Changeset View
Changeset View
Standalone View
Standalone View
source/blender/nodes/composite/nodes/node_composite_image.cc
| Show First 20 Lines • Show All 102 Lines • ▼ Show 20 Lines | if (sock == nullptr) { | ||||
| if (rres_index >= 0) { | if (rres_index >= 0) { | ||||
| sock = node_add_socket_from_template( | sock = node_add_socket_from_template( | ||||
| ntree, node, &cmp_node_rlayers_out[rres_index], SOCK_OUT); | ntree, node, &cmp_node_rlayers_out[rres_index], SOCK_OUT); | ||||
| } | } | ||||
| else { | else { | ||||
| sock = nodeAddStaticSocket(ntree, node, SOCK_OUT, type, PROP_NONE, name, name); | sock = nodeAddStaticSocket(ntree, node, SOCK_OUT, type, PROP_NONE, name, name); | ||||
| } | } | ||||
| /* extra socket info */ | /* extra socket info */ | ||||
| NodeImageLayer *sockdata = MEM_cnew<NodeImageLayer>(__func__); | NodeImageLayer *sockdata = MEM_cnew<NodeImageLayer>(MEM_AT); | ||||
| sock->storage = sockdata; | sock->storage = sockdata; | ||||
| } | } | ||||
| NodeImageLayer *sockdata = (NodeImageLayer *)sock->storage; | NodeImageLayer *sockdata = (NodeImageLayer *)sock->storage; | ||||
| if (sockdata) { | if (sockdata) { | ||||
| BLI_strncpy(sockdata->pass_name, passname, sizeof(sockdata->pass_name)); | BLI_strncpy(sockdata->pass_name, passname, sizeof(sockdata->pass_name)); | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 286 Lines • ▼ Show 20 Lines | if (node->update & NODE_UPDATE_ID) { | ||||
| cmp_node_image_verify_outputs(ntree, node, false); | cmp_node_image_verify_outputs(ntree, node, false); | ||||
| } | } | ||||
| cmp_node_update_default(ntree, node); | cmp_node_update_default(ntree, node); | ||||
| } | } | ||||
| static void node_composit_init_image(bNodeTree *ntree, bNode *node) | static void node_composit_init_image(bNodeTree *ntree, bNode *node) | ||||
| { | { | ||||
| ImageUser *iuser = MEM_cnew<ImageUser>(__func__); | ImageUser *iuser = MEM_cnew<ImageUser>(MEM_AT); | ||||
| node->storage = iuser; | node->storage = iuser; | ||||
| iuser->frames = 1; | iuser->frames = 1; | ||||
| iuser->sfra = 1; | iuser->sfra = 1; | ||||
| iuser->flag |= IMA_ANIM_ALWAYS; | iuser->flag |= IMA_ANIM_ALWAYS; | ||||
| /* setup initial outputs */ | /* setup initial outputs */ | ||||
| cmp_node_image_verify_outputs(ntree, node, false); | cmp_node_image_verify_outputs(ntree, node, false); | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 60 Lines • ▼ Show 20 Lines | static void node_composit_init_rlayers(const bContext *C, PointerRNA *ptr) | ||||
| bNode *node = (bNode *)ptr->data; | bNode *node = (bNode *)ptr->data; | ||||
| int sock_index = 0; | int sock_index = 0; | ||||
| node->id = &scene->id; | node->id = &scene->id; | ||||
| id_us_plus(node->id); | id_us_plus(node->id); | ||||
| for (bNodeSocket *sock = (bNodeSocket *)node->outputs.first; sock; | for (bNodeSocket *sock = (bNodeSocket *)node->outputs.first; sock; | ||||
| sock = sock->next, sock_index++) { | sock = sock->next, sock_index++) { | ||||
| NodeImageLayer *sockdata = MEM_cnew<NodeImageLayer>(__func__); | NodeImageLayer *sockdata = MEM_cnew<NodeImageLayer>(MEM_AT); | ||||
| sock->storage = sockdata; | sock->storage = sockdata; | ||||
| BLI_strncpy(sockdata->pass_name, | BLI_strncpy(sockdata->pass_name, | ||||
| node_cmp_rlayers_sock_to_pass(sock_index), | node_cmp_rlayers_sock_to_pass(sock_index), | ||||
| sizeof(sockdata->pass_name)); | sizeof(sockdata->pass_name)); | ||||
| } | } | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 120 Lines • Show Last 20 Lines | |||||