Files
test2/source/blender/compositor/COM_derived_resources.hh

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

37 lines
1.4 KiB
C++
Raw Normal View History

/* SPDX-FileCopyrightText: 2025 Blender Authors
*
* SPDX-License-Identifier: GPL-2.0-or-later */
#pragma once
#include "COM_denoised_auxiliary_pass.hh"
namespace blender::compositor {
/* -------------------------------------------------------------------------------------------------
* Derived Resources.
*
* Derived resources are resources that are computed from a particular result, stored in it, and
* freed when the result is freed. The same resources might be needed by multiple operations, so
* caching them on the result will improve performance at the cost of higher memory usage.
*
* The DerivedResources class stores instances of the container classes that store derived
* resources. This is very similar in design to the StaticCacheManager, see its description for
* more information. Destroying an instance of this class is expected to destroy all derived
* resources in it.
*
* To add a new derived resource:
*
* - Create a key class that can be used to identify the resource in a Map if needed.
* - Create a resource class to compute and store the resource.
* - Create a container class to store the resources in a map identified by their keys.
* - Add an instance of the container to the DerivedResources class.
*
* See the existing derived resources for reference. */
class DerivedResources {
public:
DenoisedAuxiliaryPassContainer denoised_auxiliary_passes;
};
} // namespace blender::compositor