Geometry Nodes: refactor geometry nodes execution interface

The main goal of this refactor is to simplify how a geometry node group is executed.
Previously, there was duplicated logic that turned the lazy-function graph of a node
group into a single lazy-function. Now this is done only in one place and others can
just execute the lazy-function directly, without having to worry about the underlying graph.

Pull Request: https://projects.blender.org/blender/blender/pulls/112482
This commit is contained in:
Jacques Lucke
2023-09-17 19:09:45 +02:00
parent 87fbe14cb4
commit 62e2cc0ad0
4 changed files with 199 additions and 196 deletions
@@ -1503,17 +1503,13 @@ void GraphExecutor::destruct_storage(void *storage) const
std::string GraphExecutor::input_name(const int index) const
{
const lf::OutputSocket &socket = *graph_inputs_[index];
std::stringstream ss;
ss << socket.node().name() << " - " << socket.name();
return ss.str();
return socket.name();
}
std::string GraphExecutor::output_name(const int index) const
{
const lf::InputSocket &socket = *graph_outputs_[index];
std::stringstream ss;
ss << socket.node().name() << " - " << socket.name();
return ss.str();
return socket.name();
}
void GraphExecutorLogger::log_socket_value(const Socket &socket,