Blender V5.0
OCIO_view.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2025 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
7#include "BLI_string_ref.hh"
8
9namespace blender::ocio {
10
11class ColorSpace;
12
13enum class Gamut {
15 Rec709, /* sRGB primaries + D65 white point. */
16 P3D65, /* DCI-P3 primaries + D65 white point. */
17 Rec2020, /* Rec.2020 primaries + D65 white point */
18};
19
20enum class TransferFunction {
22 sRGB, /* Piecewise sRGB */
23 ExtendedsRGB, /* Piecewise sRGB, unclipped for wide gamut */
24 Gamma18, /* Pure Gamma 1.8 */
25 Gamma22, /* Pure Gamma 2.2 */
26 Gamma24, /* Pure Gamma 2.4 */
27 Gamma26, /* Pure Gamma 2.6 */
28 PQ, /* PQ from Rec.2100 */
29 HLG, /* HLG from Rec.2100 */
30};
31
32class View {
33 public:
34 virtual ~View() = default;
35
40 int index = -1;
41
46 virtual StringRefNull name() const = 0;
47
51 virtual StringRefNull description() const = 0;
52
56 virtual bool is_hdr() const = 0;
57
61 virtual bool support_emulation() const = 0;
62
66 virtual Gamut gamut() const = 0;
67
72
77 virtual const ColorSpace *display_colorspace() const = 0;
78};
79
80} // namespace blender::ocio
virtual const ColorSpace * display_colorspace() const =0
virtual TransferFunction transfer_function() const =0
virtual StringRefNull name() const =0
virtual bool support_emulation() const =0
virtual StringRefNull description() const =0
virtual Gamut gamut() const =0
virtual bool is_hdr() const =0
virtual ~View()=default