Blender V4.3
COM_defines.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2011 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
8
9#include "DNA_vec_types.h"
10
11namespace blender::compositor {
12
13using Size2f = float2;
14
15enum class eDimension { X, Y };
16
21enum class DataType {
23 Value = 0,
25 Vector = 1,
27 Color = 2,
29 Float2 = 3,
30};
31
35constexpr int COM_data_type_num_channels(const DataType datatype)
36{
37 switch (datatype) {
38 case DataType::Value:
39 return 1;
41 return 2;
43 return 3;
44 case DataType::Color:
45 default:
46 return 4;
47 }
48}
49
50constexpr int COM_data_type_bytes_len(DataType data_type)
51{
52 return COM_data_type_num_channels(data_type) * sizeof(float);
53}
54
59
60constexpr float COM_COLOR_TRANSPARENT[4] = {0.0f, 0.0f, 0.0f, 0.0f};
61constexpr float COM_FLOAT2_ZERO[2] = {0.0f, 0.0f};
62constexpr float COM_VECTOR_ZERO[3] = {0.0f, 0.0f, 0.0f};
63constexpr float COM_COLOR_BLACK[4] = {0.0f, 0.0f, 0.0f, 1.0f};
64constexpr float COM_VALUE_ZERO[1] = {0.0f};
65constexpr float COM_VALUE_ONE[1] = {1.0f};
66
70constexpr DataType COM_num_channels_data_type(const int num_channels)
71{
72 switch (num_channels) {
73 case 1:
74 return DataType::Value;
75 case 2:
76 return DataType::Float2;
77 case 3:
78 return DataType::Vector;
79 case 4:
80 default:
81 return DataType::Color;
82 }
83}
84
85constexpr float COM_PREVIEW_SIZE = 140.f;
86constexpr float COM_RULE_OF_THIRDS_DIVIDER = 100.0f;
87constexpr float COM_BLUR_BOKEH_PIXELS = 512;
88
89constexpr rcti COM_AREA_NONE = {0, 0, 0, 0};
91
92} // namespace blender::compositor
draw_view in_light_buf[] float
DataType
possible data types for sockets
Definition COM_defines.h:21
@ Vector
Vector data type.
@ Float2
Float2 data type.
constexpr int COM_DATA_TYPE_FLOAT2_CHANNELS
Definition COM_defines.h:56
constexpr float COM_VECTOR_ZERO[3]
Definition COM_defines.h:62
constexpr int COM_DATA_TYPE_VALUE_CHANNELS
Definition COM_defines.h:55
constexpr int COM_DATA_TYPE_COLOR_CHANNELS
Definition COM_defines.h:58
constexpr float COM_PREVIEW_SIZE
Definition COM_defines.h:85
constexpr DataType COM_num_channels_data_type(const int num_channels)
Definition COM_defines.h:70
constexpr float COM_RULE_OF_THIRDS_DIVIDER
Definition COM_defines.h:86
constexpr float COM_BLUR_BOKEH_PIXELS
Definition COM_defines.h:87
constexpr int COM_data_type_num_channels(const DataType datatype)
Definition COM_defines.h:35
constexpr float COM_FLOAT2_ZERO[2]
Definition COM_defines.h:61
constexpr float COM_VALUE_ZERO[1]
Definition COM_defines.h:64
constexpr int COM_data_type_bytes_len(DataType data_type)
Definition COM_defines.h:50
constexpr rcti COM_CONSTANT_INPUT_AREA_OF_INTEREST
Definition COM_defines.h:90
constexpr rcti COM_AREA_NONE
Definition COM_defines.h:89
constexpr float COM_VALUE_ONE[1]
Definition COM_defines.h:65
constexpr int COM_DATA_TYPE_VECTOR_CHANNELS
Definition COM_defines.h:57
constexpr float COM_COLOR_TRANSPARENT[4]
Definition COM_defines.h:60
constexpr float COM_COLOR_BLACK[4]
Definition COM_defines.h:63
VecBase< float, 2 > float2