WIP: graph evaluations. Fixed various memory issues, better tests.
This commit is contained in:
@@ -105,7 +105,7 @@ void AnimGraph::prepareNodeEval(
|
||||
assert (*output_connection.m_source_socket.m_reference.ptr_ptr == nullptr);
|
||||
|
||||
(*output_connection.m_source_socket.m_reference.ptr_ptr) =
|
||||
m_anim_data_work_buffer.allocate(graph_context);
|
||||
m_anim_data_allocator.allocate(graph_context.m_skeleton);
|
||||
}
|
||||
|
||||
for (size_t i = 0, n = m_node_input_connections[node_index].size(); i < n;
|
||||
@@ -132,8 +132,8 @@ void AnimGraph::finishNodeEval(size_t node_index) {
|
||||
continue;
|
||||
}
|
||||
|
||||
m_anim_data_work_buffer.free(static_cast<AnimData*>(
|
||||
input_connection.m_source_socket.m_reference.ptr));
|
||||
m_anim_data_allocator.free(static_cast<AnimData*>(
|
||||
*input_connection.m_source_socket.m_reference.ptr_ptr));
|
||||
(*input_connection.m_source_socket.m_reference.ptr_ptr) = nullptr;
|
||||
}
|
||||
}
|
||||
@@ -241,6 +241,7 @@ void AnimGraph::evaluate(AnimGraphContext& context) {
|
||||
}
|
||||
|
||||
evalOutputNode();
|
||||
finishNodeEval(0);
|
||||
}
|
||||
|
||||
Socket* AnimGraph::getInputSocket(const std::string& name) {
|
||||
|
||||
Reference in New Issue
Block a user