This patch adds the core realtime compositor evaluator as well as a compositor draw engine powered by the evaluator that operates in the viewport. The realtime compositor is a new GPU accelerated compositor that will be used to power the viewport compositor imminently as well as the existing compositor in the future. This patch only adds the evaluator and engine as an experimental feature, the implementation of the nodes themselves will be committed separately. See T99210. Differential Revision: https://developer.blender.org/D15206 Reviewed By: Clement Foucault
22 lines
739 B
C++
22 lines
739 B
C++
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
|
|
#pragma once
|
|
|
|
#include "BLI_vector_set.hh"
|
|
|
|
#include "NOD_derived_node_tree.hh"
|
|
|
|
namespace blender::realtime_compositor {
|
|
|
|
using namespace nodes::derived_node_tree_types;
|
|
|
|
/* A type representing the ordered set of nodes defining the schedule of node execution. */
|
|
using Schedule = VectorSet<DNode>;
|
|
|
|
/* Computes the execution schedule of the node tree. This is essentially a post-order depth first
|
|
* traversal of the node tree from the output node to the leaf input nodes, with informed order of
|
|
* traversal of dependencies based on a heuristic estimation of the number of needed buffers. */
|
|
Schedule compute_schedule(DerivedNodeTree &tree);
|
|
|
|
} // namespace blender::realtime_compositor
|