opynsim
Unofficial C++ Documentation
Loading...
Searching...
No Matches
liboscar
graphics
material_property_value_types.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <
liboscar/graphics/color.h
>
4
#include <
liboscar/graphics/cubemap.h
>
5
#include <
liboscar/graphics/render_texture.h
>
6
#include <
liboscar/graphics/shared_color_render_buffer.h
>
7
#include <
liboscar/graphics/shared_depth_stencil_render_buffer.h
>
8
#include <
liboscar/graphics/texture2d.h
>
9
#include <
liboscar/maths/matrix3x3.h
>
10
#include <
liboscar/maths/matrix4x4.h
>
11
#include <
liboscar/maths/vector.h
>
12
#include <
liboscar/utilities/typelist.h
>
13
14
// Higher-order macro for generating code related to material properties
15
//
16
// This should match `MaterialPropertyValueTypes`. Yes, macros suck, but C++26 (reflection)
17
// is required to work around it.
18
#define OSC_FOR_EACH_MATERIAL_PROPERTY_VALUE_TYPE(X) \
19
X(bool) \
20
X(osc::Color) \
21
X(osc::Color32) \
22
X(osc::Cubemap) \
23
X(float) \
24
X(int) \
25
X(osc::Matrix3x3) \
26
X(osc::Matrix4x4) \
27
X(osc::RenderTexture) \
28
X(osc::SharedColorRenderBuffer) \
29
X(osc::SharedDepthStencilRenderBuffer) \
30
X(osc::Texture2D) \
31
X(osc::Vector2) \
32
X(osc::Vector3) \
33
X(osc::Vector4) \
34
35
namespace
osc
36
{
37
using
MaterialPropertyValueTypes
=
Typelist
<
38
bool
,
39
Color
,
40
Color32
,
41
Cubemap
,
42
float
,
43
int
,
44
Matrix3x3
,
45
Matrix4x4
,
46
RenderTexture
,
47
SharedColorRenderBuffer
,
48
SharedDepthStencilRenderBuffer
,
49
Texture2D
,
50
Vector2
,
51
Vector3
,
52
Vector4
53
>;
54
}
osc::Cubemap
Definition
cubemap.h:29
osc::RenderTexture
Definition
render_texture.h:18
osc::SharedColorRenderBuffer
Definition
shared_color_render_buffer.h:48
osc::SharedDepthStencilRenderBuffer
Definition
shared_depth_stencil_render_buffer.h:49
osc::Texture2D
Definition
texture2d.h:22
osc::Vector
Definition
vector.h:63
color.h
cubemap.h
matrix3x3.h
matrix4x4.h
osc
Definition
custom_decoration_generator.h:5
osc::Matrix4x4
Matrix< float, 4, 4 > Matrix4x4
Definition
matrix4x4.h:378
osc::Matrix3x3
Matrix< float, 3, 3 > Matrix3x3
Definition
matrix3x3.h:371
osc::Vector2
Vector< float, 2 > Vector2
Definition
vector.h:636
osc::Color32
Rgba< Unorm8 > Color32
Definition
color32.h:12
osc::Color
Rgba< float > Color
Definition
color.h:11
osc::Vector3
Vector< float, 3 > Vector3
Definition
vector.h:644
osc::to
constexpr U to(T &&value)
Definition
conversion.h:56
render_texture.h
shared_color_render_buffer.h
shared_depth_stencil_render_buffer.h
osc::Typelist
Definition
typelist.h:15
texture2d.h
typelist.h
vector.h
Generated by
1.9.8