get_node_world_position procedure for renderable entities

This commit is contained in:
2025-04-15 22:32:39 +02:00
parent a883455617
commit 721c6079bb

View File

@@ -143,6 +143,20 @@ set_node_enabled :: (e: *Entity, node_name: string, enabled : bool) {
} }
} }
get_node_world_position :: (e: *Entity, node_name: string) -> Vector3 {
if e.renderable.type == .MODEL {
model := get_model_by_handle(e.renderable.model);
for i: 0..e.renderable.num_nodes-1 {
actual_node := model.nodes[i];
if node_name.count == 0 || node_name == actual_node.name {
data := *e.renderable.nodes[i];
return Vector3.{data.transform.world_matrix._14, data.transform.world_matrix._24, data.transform.world_matrix._34};
}
}
}
return .{};
}
load_model_into_entity :: (e: *Entity, handle: Model_Handle) { load_model_into_entity :: (e: *Entity, handle: Model_Handle) {
model := get_model_by_handle(handle); model := get_model_by_handle(handle);