Changeset View
Changeset View
Standalone View
Standalone View
source/blender/nodes/shader/node_shader_tree.cc
| Show First 20 Lines • Show All 66 Lines • ▼ Show 20 Lines | static void shader_get_from_context(const bContext *C, | ||||
| bNodeTreeType *UNUSED(treetype), | bNodeTreeType *UNUSED(treetype), | ||||
| bNodeTree **r_ntree, | bNodeTree **r_ntree, | ||||
| ID **r_id, | ID **r_id, | ||||
| ID **r_from) | ID **r_from) | ||||
| { | { | ||||
| SpaceNode *snode = CTX_wm_space_node(C); | SpaceNode *snode = CTX_wm_space_node(C); | ||||
| Scene *scene = CTX_data_scene(C); | Scene *scene = CTX_data_scene(C); | ||||
| ViewLayer *view_layer = CTX_data_view_layer(C); | ViewLayer *view_layer = CTX_data_view_layer(C); | ||||
| BKE_view_layer_ensure_sync(scene, view_layer); | |||||
| Object *ob = BKE_view_layer_active_object_get(view_layer); | Object *ob = BKE_view_layer_active_object_get(view_layer); | ||||
| if (snode->shaderfrom == SNODE_SHADER_OBJECT) { | if (snode->shaderfrom == SNODE_SHADER_OBJECT) { | ||||
| if (ob) { | if (ob) { | ||||
| *r_from = &ob->id; | *r_from = &ob->id; | ||||
| if (ob->type == OB_LAMP) { | if (ob->type == OB_LAMP) { | ||||
| *r_id = static_cast<ID *>(ob->data); | *r_id = static_cast<ID *>(ob->data); | ||||
| *r_ntree = ((Light *)ob->data)->nodetree; | *r_ntree = ((Light *)ob->data)->nodetree; | ||||
| ▲ Show 20 Lines • Show All 1,052 Lines • Show Last 20 Lines | |||||