Add Active Camera geometry node #106065

Closed
dbsc wants to merge 15 commits from dbsc/blender:active_camera_geo_node into main

When changing the target branch, be careful to rebase the branch in your fork to match. See documentation.
4 changed files with 5 additions and 8 deletions
Showing only changes of commit 841e136da9 - Show all commits

View File

@ -266,6 +266,8 @@ static int view3d_setobjectascamera_exec(bContext *C, wmOperator *op)
WM_event_add_notifier(C, NC_OBJECT | ND_DRAW, scene);
}
DEG_relations_tag_update(CTX_data_main(C));
return OPERATOR_FINISHED;
}

View File

@ -179,11 +179,6 @@ static bool node_needs_own_transform_relation(const bNode &node)
return true;
}
if (node.type == GEO_NODE_ACTIVE_CAMERA) {
return true;
// TODO
}
return false;
}
@ -262,6 +257,8 @@ static void update_depsgraph(ModifierData *md, const ModifierUpdateDepsgraphCont
DEG_add_node_tree_output_relation(ctx->node, nmd->node_group, "Nodes Modifier");
add_object_relation(ctx, *ctx->scene->camera);
bool needs_own_transform_relation = false;
Set<ID *> used_ids;
find_used_ids_from_settings(nmd->settings, used_ids);

View File

@ -283,7 +283,7 @@ DefNode(FunctionNode, FN_NODE_STRING_LENGTH, 0, "STRING_LENGTH", StringLength, "
DefNode(FunctionNode, FN_NODE_VALUE_TO_STRING, 0, "VALUE_TO_STRING", ValueToString, "Value to String", "")
dbsc marked this conversation as resolved Outdated

I'd suggest being more specific: Retrieve the scene's active camera

I'd suggest being more specific: `Retrieve the scene's active camera`
DefNode(GeometryNode, GEO_NODE_ACCUMULATE_FIELD, def_geo_accumulate_field, "ACCUMULATE_FIELD", AccumulateField, "Accumulate Field", "Add the values of an evaluated field together and output the running total for each element")
DefNode(GeometryNode, GEO_NODE_ACTIVE_CAMERA, 0 /* def_geo_active_camera */, "ACTIVE_CAMERA", ActiveCamera, "Active Camera", "Retrieve the active camera")
DefNode(GeometryNode, GEO_NODE_ACTIVE_CAMERA, 0, "ACTIVE_CAMERA", ActiveCamera, "Active Camera", "Retrieve the active camera")
DefNode(GeometryNode, GEO_NODE_ATTRIBUTE_DOMAIN_SIZE, def_geo_attribute_domain_size, "ATTRIBUTE_DOMAIN_SIZE", AttributeDomainSize, "Domain Size", "Retrieve the number of elements in a geometry for each attribute domain")
DefNode(GeometryNode, GEO_NODE_ATTRIBUTE_STATISTIC, def_geo_attribute_statistic, "ATTRIBUTE_STATISTIC",AttributeStatistic, "Attribute Statistic", "Calculate statistics about a data set from a field evaluated on a geometry")
DefNode(GeometryNode, GEO_NODE_BLUR_ATTRIBUTE, def_geo_blur_attribute, "BLUR_ATTRIBUTE", BlurAttribute, "Blur Attribute", "Mix attribute values of neighboring elements")

View File

@ -28,6 +28,4 @@ void register_node_type_geo_active_camera()
ntype.geometry_node_execute = file_ns::node_geo_exec;
ntype.declare = file_ns::node_declare;
nodeRegisterType(&ntype);
// TODO
}