Cogs.Core
TwinVisualsComponent.cpp
1#include "Types.h"
2
3#include "TwinVisualsComponent.h"
4
5using namespace Cogs::Reflection;
6
7void Cogs::Core::TwinVisualsComponent::registerType()
8{
9 {
10 static constexpr EnumeratorDef enumerators[] = {
11 { "None", TwinVisualsNotification::None },
12 { "TexturesReady", TwinVisualsNotification::TexturesReady },
13 { "TexturesLoading", TwinVisualsNotification::TexturesLoading },
14 { "TexturesFailed", TwinVisualsNotification::TexturesFailed }
15 };
16 TypeDatabase::createType<TwinVisualsNotification>().setEnumerators(enumerators);
17 }
18
19 {
20 static constexpr EnumeratorDef enumerators[] = {
21 { "Balanced", TwinVisualsMode::Balanced },
22 { "Advanced", TwinVisualsMode::Advanced },
23 { "Glass", TwinVisualsMode::Glass },
24 { "Sketch", TwinVisualsMode::Sketch },
25 { "DepthOfField", TwinVisualsMode::DepthOfField },
26 { "Preview3DTriangleSize", TwinVisualsMode::Preview3DTriangleSize },
27 { "DarkFocus", TwinVisualsMode::DarkFocus },
28 { "SurfaceHyper", TwinVisualsMode::SurfaceHyper },
29 { "SurfaceDefault", TwinVisualsMode::SurfaceDefault },
30 { "SurfaceCAD", TwinVisualsMode::SurfaceCAD },
31 { "SurfaceGlass", TwinVisualsMode::SurfaceGlass },
32 { "SurfaceSketch", TwinVisualsMode::SurfaceSketch },
33 { "SurfaceDarkFocus", TwinVisualsMode::SurfaceDarkFocus },
34 { "SurfaceClay", TwinVisualsMode::SurfaceClay }
35 };
36 TypeDatabase::createType<TwinVisualsMode>().setEnumerators(enumerators);
37 }
38
39
40
41 {
42 static constexpr EnumeratorDef enumerators[] = {
43 { "Reinhard", TwinVisualsTonemapper::Reinhard },
44 { "Filmic", TwinVisualsTonemapper::Filmic },
45 { "ACESLuminance", TwinVisualsTonemapper::ACESLuminance },
46 { "PBRNeutral", TwinVisualsTonemapper::PBRNeutral }
47 };
48 TypeDatabase::createType<TwinVisualsTonemapper>().setEnumerators(enumerators);
49 }
50 {
51 static constexpr EnumeratorDef enumerators[] = {
52 { "FullQuality", TwinVisualsDynamicRenderResolution::FullQuality },
53 { "Balanced", TwinVisualsDynamicRenderResolution::Balanced },
54 { "Fast", TwinVisualsDynamicRenderResolution::Fast },
55 { "FullAndSmooth", TwinVisualsDynamicRenderResolution::FullAndSmooth }
56 };
57 TypeDatabase::createType<TwinVisualsDynamicRenderResolution>().setEnumerators(enumerators);
58 }
59 {
60 static constexpr EnumeratorDef enumerators[] = {
61 { "Grayscale", TwinVisualsTexAtlasStyle::Grayscale },
62 { "Color", TwinVisualsTexAtlasStyle::Color },
63 { "None", TwinVisualsTexAtlasStyle::None }
64 };
65 TypeDatabase::createType<TwinVisualsTexAtlasStyle>().setEnumerators(enumerators);
66 }
67 {
68 static constexpr EnumeratorDef enumerators[] = {
69 { "Low", TwinVisualsQualityPreset::Low },
70 { "Medium", TwinVisualsQualityPreset::Medium },
71 { "High", TwinVisualsQualityPreset::High },
72 { "Ultra", TwinVisualsQualityPreset::Ultra }
73 };
74 TypeDatabase::createType<TwinVisualsQualityPreset>().setEnumerators(enumerators);
75 }
76
77 Field fields[] = {
85 Field(Name("dynamicRenderResolution"), &TwinVisualsComponent::dynamicRenderResolution),
87 Field(Name("highlightRegionEnable"), &TwinVisualsComponent::highlightRegionEnable),
105 };
106 TypeDatabase::createType<TwinVisualsComponent>()
107 .setFields(fields)
108 .setBase<Component>();
109}
TwinVisualsQualityPreset qualityPreset
TwinVisualsTexAtlasStyle texAtlasStyle
std::vector< WeakEntityPtr > texAtlases
TwinVisualsDynamicRenderResolution dynamicRenderResolution
Field definition describing a single data member of a data structure.
Definition: Field.h:70
@ TexturesFailed
One or more new textures have started fetching.
@ TexturesReady
All textures required have been fetched successfully, will be used next frame.
Contains reflection support.
Definition: Component.h:11
Represents an unique name.
Definition: Name.h:70