Changeset View
Changeset View
Standalone View
Standalone View
source/blender/nodes/composite/nodes/node_composite_image.c
| Show All 35 Lines | |||||
| #include "DNA_scene_types.h" | #include "DNA_scene_types.h" | ||||
| #include "RE_engine.h" | #include "RE_engine.h" | ||||
| #include "BKE_context.h" | #include "BKE_context.h" | ||||
| #include "BKE_global.h" | #include "BKE_global.h" | ||||
| #include "BKE_main.h" | #include "BKE_main.h" | ||||
| #include "BKE_scene.h" | |||||
| /* **************** IMAGE (and RenderResult, multilayer image) ******************** */ | /* **************** IMAGE (and RenderResult, multilayer image) ******************** */ | ||||
| static bNodeSocketTemplate cmp_node_rlayers_out[] = { | static bNodeSocketTemplate cmp_node_rlayers_out[] = { | ||||
| { SOCK_RGBA, 0, N_("Image"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, | { SOCK_RGBA, 0, N_("Image"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, | ||||
| { SOCK_FLOAT, 0, N_("Alpha"), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, | { SOCK_FLOAT, 0, N_("Alpha"), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, | ||||
| { SOCK_FLOAT, 0, N_(RE_PASSNAME_Z), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, | { SOCK_FLOAT, 0, N_(RE_PASSNAME_Z), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, | ||||
| { SOCK_VECTOR, 0, N_(RE_PASSNAME_NORMAL), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, | { SOCK_VECTOR, 0, N_(RE_PASSNAME_NORMAL), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, | ||||
| ▲ Show 20 Lines • Show All 161 Lines • ▼ Show 20 Lines | void node_cmp_rlayers_register_pass(bNodeTree *ntree, bNode *node, Scene *scene, SceneRenderLayer *srl, const char *name, int type) | ||||
| } | } | ||||
| } | } | ||||
| static void cmp_node_rlayer_create_outputs(bNodeTree *ntree, bNode *node, LinkNodePair *available_sockets) | static void cmp_node_rlayer_create_outputs(bNodeTree *ntree, bNode *node, LinkNodePair *available_sockets) | ||||
| { | { | ||||
| Scene *scene = (Scene *)node->id; | Scene *scene = (Scene *)node->id; | ||||
| if (scene) { | if (scene) { | ||||
| RenderEngineType *engine_type = RE_engines_find(scene->r.engine); | RenderEngineType *engine_type = RE_engines_find(scene->view_render.engine_id); | ||||
| if (engine_type && engine_type->update_render_passes) { | if (engine_type && engine_type->update_render_passes) { | ||||
| SceneRenderLayer *srl = BLI_findlink(&scene->r.layers, node->custom1); | SceneRenderLayer *srl = BLI_findlink(&scene->r.layers, node->custom1); | ||||
| if (srl) { | if (srl) { | ||||
| RLayerUpdateData *data = MEM_mallocN(sizeof(RLayerUpdateData), "render layer update data"); | RLayerUpdateData *data = MEM_mallocN(sizeof(RLayerUpdateData), "render layer update data"); | ||||
| data->available_sockets = available_sockets; | data->available_sockets = available_sockets; | ||||
| data->prev_index = -1; | data->prev_index = -1; | ||||
| node->storage = data; | node->storage = data; | ||||
| ▲ Show 20 Lines • Show All 215 Lines • Show Last 20 Lines | |||||