11 entt::meta_factory<projection_mode>{}
12 .type(
"projection_mode"_hs)
17 .data<projection_mode::perspective>(
"perspective"_hs)
22 .data<projection_mode::orthographic>(
"orthographic"_hs)
29 entt::meta_factory<camera>{}
39 try_save(ar, ser20::make_nvp(
"projection_mode", obj.projection_mode_));
40 try_save(ar, ser20::make_nvp(
"field_of_view", obj.fov_));
41 try_save(ar, ser20::make_nvp(
"near_clip", obj.near_clip_));
42 try_save(ar, ser20::make_nvp(
"far_clip", obj.far_clip_));
43 try_save(ar, ser20::make_nvp(
"viewport_position", obj.viewport_pos_));
44 try_save(ar, ser20::make_nvp(
"viewport_size", obj.viewport_size_));
45 try_save(ar, ser20::make_nvp(
"orthographic_size", obj.ortho_size_));
46 try_save(ar, ser20::make_nvp(
"aspect_ratio", obj.aspect_ratio_));
47 try_save(ar, ser20::make_nvp(
"aspect_locked", obj.aspect_locked_));
48 try_save(ar, ser20::make_nvp(
"frustum_locked", obj.frustum_locked_));
55 try_load(ar, ser20::make_nvp(
"projection_mode", obj.projection_mode_));
56 try_load(ar, ser20::make_nvp(
"field_of_view", obj.fov_));
57 try_load(ar, ser20::make_nvp(
"near_clip", obj.near_clip_));
58 try_load(ar, ser20::make_nvp(
"far_clip", obj.far_clip_));
59 try_load(ar, ser20::make_nvp(
"viewport_position", obj.viewport_pos_));
60 try_load(ar, ser20::make_nvp(
"viewport_size", obj.viewport_size_));
61 try_load(ar, ser20::make_nvp(
"orthographic_size", obj.ortho_size_));
62 try_load(ar, ser20::make_nvp(
"aspect_ratio", obj.aspect_ratio_));
63 try_load(ar, ser20::make_nvp(
"aspect_locked", obj.aspect_locked_));
64 try_load(ar, ser20::make_nvp(
"frustum_locked", obj.frustum_locked_));
66 obj.view_dirty_ =
true;
67 obj.projection_dirty_ =
true;
68 obj.aspect_dirty_ =
true;
69 obj.frustum_dirty_ =
true;
Class representing a camera. Contains functionality for manipulating and updating a camera....
attributes::value_type attribute
std::map< std::string, meta_any > attributes
BinaryInputArchive iarchive_binary_t
simd::JSONOutputArchive oarchive_associative_t
BinaryOutputArchive oarchive_binary_t
simd::JSONInputArchive iarchive_associative_t
#define SAVE_INSTANTIATE(cls, Archive)
auto try_save(Archive &ar, ser20::NameValuePair< T > &&t, const hpp::source_location &loc=hpp::source_location::current()) -> bool
#define LOAD_INSTANTIATE(cls, Archive)
auto try_load(Archive &ar, ser20::NameValuePair< T > &&t, const hpp::source_location &loc=hpp::source_location::current()) -> bool