Unravel Engine C++ Reference
Loading...
Searching...
No Matches
texture_importer_meta.cpp
Go to the documentation of this file.
2
4
8
9namespace unravel
10{
11
13{
14 entt::meta_factory<texture_importer_meta>{}
15 .type("texture_importer_meta"_hs)
17 entt::attribute{"name", "texture_importer_meta"},
18 entt::attribute{"pretty_name", "Texture Importer Meta"},
19 })
20 .func<&texture_importer_meta::get_meta_type>("get_meta_type"_hs)
21 .func<&texture_importer_meta::get_static_meta_type>("get_static_meta_type"_hs)
22 .func<&texture_importer_meta::as_derived>("as_derived"_hs);
23 // Register texture_importer_meta::texture_size enum with entt
24 entt::meta_factory<texture_importer_meta::texture_size>{}
25 .type("texture_size"_hs)
27 entt::attribute{"name", "texture_size"},
28 entt::attribute{"pretty_name", "Texture Size"},
29 })
30 .data<texture_importer_meta::texture_size::project_default>("project_default"_hs)
32 entt::attribute{"name", "project_default"},
33 entt::attribute{"pretty_name", "Project Default"},
34 })
35 .data<texture_importer_meta::texture_size::size_32>("size_32"_hs)
37 entt::attribute{"name", "size_32"},
38 entt::attribute{"pretty_name", "32"},
39 })
40 .data<texture_importer_meta::texture_size::size_64>("size_64"_hs)
42 entt::attribute{"name", "size_64"},
43 entt::attribute{"pretty_name", "64"},
44 })
45 .data<texture_importer_meta::texture_size::size_128>("size_128"_hs)
47 entt::attribute{"name", "size_128"},
48 entt::attribute{"pretty_name", "128"},
49 })
50 .data<texture_importer_meta::texture_size::size_256>("size_256"_hs)
52 entt::attribute{"name", "size_256"},
53 entt::attribute{"pretty_name", "256"},
54 })
55 .data<texture_importer_meta::texture_size::size_512>("size_512"_hs)
57 entt::attribute{"name", "size_512"},
58 entt::attribute{"pretty_name", "512"},
59 })
60 .data<texture_importer_meta::texture_size::size_1024>("size_1024"_hs)
62 entt::attribute{"name", "size_1024"},
63 entt::attribute{"pretty_name", "1024"},
64 })
65 .data<texture_importer_meta::texture_size::size_2048>("size_2048"_hs)
67 entt::attribute{"name", "size_2048"},
68 entt::attribute{"pretty_name", "2048"},
69 })
70 .data<texture_importer_meta::texture_size::size_4096>("size_4096"_hs)
72 entt::attribute{"name", "size_4096"},
73 entt::attribute{"pretty_name", "4096"},
74 })
75 .data<texture_importer_meta::texture_size::size_8192>("size_8192"_hs)
77 entt::attribute{"name", "size_8192"},
78 entt::attribute{"pretty_name", "8192"},
79 })
80 .data<texture_importer_meta::texture_size::size_16384>("size_16384"_hs)
82 entt::attribute{"name", "size_16384"},
83 entt::attribute{"pretty_name", "16384"},
84 });
85
86 // Register texture_importer_meta::texture_type enum with entt
87 entt::meta_factory<texture_importer_meta::texture_type>{}
88 .type("texture_type"_hs)
90 entt::attribute{"name", "texture_type"},
91 entt::attribute{"pretty_name", "Texture Type"},
92 })
93 .data<texture_importer_meta::texture_type::automatic>("automatic"_hs)
95 entt::attribute{"name", "automatic"},
96 entt::attribute{"pretty_name", "Auto"},
97 })
98 .data<texture_importer_meta::texture_type::normal_map>("normal_map"_hs)
100 entt::attribute{"name", "normal_map"},
101 entt::attribute{"pretty_name", "Normal Map"},
102 })
103 .data<texture_importer_meta::texture_type::equirect>("equirect"_hs)
105 entt::attribute{"name", "equirect"},
106 entt::attribute{"pretty_name", "Equirect. Proj."},
107 });
108
109 // Register texture_importer_meta::compression_quality enum with entt
110 entt::meta_factory<texture_importer_meta::compression_quality>{}
111 .type("compression_quality"_hs)
113 entt::attribute{"name", "compression_quality"},
114 entt::attribute{"pretty_name", "Compression Quality"},
115 })
116 .data<texture_importer_meta::compression_quality::project_default>("project_default"_hs)
118 entt::attribute{"name", "project_default"},
119 entt::attribute{"pretty_name", "Project Default"},
120 })
121 .data<texture_importer_meta::compression_quality::none>("none"_hs)
123 entt::attribute{"name", "none"},
124 entt::attribute{"pretty_name", "None"},
125 })
126 .data<texture_importer_meta::compression_quality::low_quality>("low_quality"_hs)
128 entt::attribute{"name", "low_quality"},
129 entt::attribute{"pretty_name", "Low Quality"},
130 })
131 .data<texture_importer_meta::compression_quality::normal_quality>("normal_quality"_hs)
133 entt::attribute{"name", "normal_quality"},
134 entt::attribute{"pretty_name", "Normal Quality"},
135 })
136 .data<texture_importer_meta::compression_quality::high_quality>("high_quality"_hs)
138 entt::attribute{"name", "high_quality"},
139 entt::attribute{"pretty_name", "High Quality"},
140 });
141
142 // Register texture_importer_meta::quality_meta with entt
143 entt::meta_factory<texture_importer_meta::quality_meta>{}
144 .type("quality_meta"_hs)
146 entt::attribute{"name", "quality_meta"},
147 entt::attribute{"pretty_name", "Quality Meta"},
148 })
149 .data<&texture_importer_meta::quality_meta::max_size>("max_size"_hs)
151 entt::attribute{"name", "max_size"},
152 entt::attribute{"pretty_name", "Max Size"},
153 })
154 .data<&texture_importer_meta::quality_meta::compression>("compression"_hs)
156 entt::attribute{"name", "compression"},
157 entt::attribute{"pretty_name", "Compression"},
158 });
159
160 // Register texture_importer_meta with entt
161 entt::meta_factory<texture_importer_meta>{}
162 .type("texture_importer_meta"_hs)
164 entt::attribute{"name", "texture_importer_meta"},
165 entt::attribute{"pretty_name", "Texture Importer Meta"},
166 })
167 .data<&texture_importer_meta::type>("type"_hs)
169 entt::attribute{"name", "type"},
170 entt::attribute{"pretty_name", "Type"},
171 })
172 .data<&texture_importer_meta::generate_mipmaps>("generate_mipmaps"_hs)
174 entt::attribute{"name", "generate_mipmaps"},
175 entt::attribute{"pretty_name", "Generate Mipmaps"},
176 })
177 .data<&texture_importer_meta::quality>("quality"_hs)
179 entt::attribute{"name", "quality"},
180 entt::attribute{"pretty_name", "Quality"},
181 });
182}
183
185{
186 try_save(ar, ser20::make_nvp("max_size", obj.max_size));
187 try_save(ar, ser20::make_nvp("compression", obj.compression));
188}
191
193{
194 try_load(ar, ser20::make_nvp("max_size", obj.max_size));
195 try_load(ar, ser20::make_nvp("compression", obj.compression));
196}
199
201{
202 try_save(ar, ser20::make_nvp("base_type", ser20::base_class<asset_importer_meta>(&obj)));
203 try_save(ar, ser20::make_nvp("type", obj.type));
204 try_save(ar, ser20::make_nvp("generate_mipmaps", obj.generate_mipmaps));
205 try_save(ar, ser20::make_nvp("quality", obj.quality));
206}
209
211{
212 try_load(ar, ser20::make_nvp("base_type", ser20::base_class<asset_importer_meta>(&obj)));
213 try_load(ar, ser20::make_nvp("type", obj.type));
214 try_load(ar, ser20::make_nvp("generate_mipmaps", obj.generate_mipmaps));
215 try_load(ar, ser20::make_nvp("quality", obj.quality));
216}
219
220} // namespace unravel
attributes::value_type attribute
Definition reflection.h:19
std::map< std::string, meta_any > attributes
Definition reflection.h:18
BinaryInputArchive iarchive_binary_t
simd::JSONOutputArchive oarchive_associative_t
BinaryOutputArchive oarchive_binary_t
simd::JSONInputArchive iarchive_associative_t
#define REFLECT(cls)
Definition reflection.h:133
#define SAVE_INSTANTIATE(cls, Archive)
#define LOAD(cls)
auto try_save(Archive &ar, ser20::NameValuePair< T > &&t, const hpp::source_location &loc=hpp::source_location::current()) -> bool
#define LOAD_INSTANTIATE(cls, Archive)
#define SAVE(cls)
auto try_load(Archive &ar, ser20::NameValuePair< T > &&t, const hpp::source_location &loc=hpp::source_location::current()) -> bool