Blender V4.3
COM_meta_data.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2024 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#include <string>
6
7#pragma once
8
10
11/* ------------------------------------------------------------------------------------------------
12 * Cryptomatte Meta Data
13 *
14 * Stores the Cryptomatte meta data as specified in Section 1 "Metadata" in the Cryptomatte
15 * specification. The Cryptomatte layer name is not stored because it is determined by the user
16 * when saving the result to file. */
18 std::string hash;
19 std::string conversion;
20 std::string manifest;
21};
22
23/* ------------------------------------------------------------------------------------------------
24 * Meta Data
25 *
26 * Stores extra information about results such as image meta data that can eventually be saved to
27 * file. */
28struct MetaData {
29 /* The result stores non color data, which is not to be color-managed. */
30 bool is_non_color_data = false;
31 /* The result stores a 4D vector as opposed to a 3D vector. This is the case for things like
32 * velocity passes, and we need to mark them as 4D in order to write them to file correctly. This
33 * field can be ignored for results that are not of type Vector. */
34 bool is_4d_vector = false;
35 /* Stores Cryptomatte meta data. This will only be initialized for results that represent
36 * Cryptomatte information. See the CryptomatteMetaData structure for more information. */
38
39 /* Identifies if the result represents a Cryptomatte layer. This is identified based on whether
40 * the Cryptomatte meta data are initialized. */
41 bool is_cryptomatte_layer() const;
42};
43
44} // namespace blender::realtime_compositor