11 entt::meta_factory<volume_mode>{}
12 .type(
"volume_mode"_hs)
17 .data<volume_mode::local>(
"local"_hs)
23 .data<volume_mode::global>(
"global"_hs)
27 entt::attribute{
"tooltip",
"Volume affects camera everywhere (ignores bounds)"},
39 entt::meta_factory<volume_component>{}
40 .type(
"volume_component"_hs)
55 entt::attribute{
"tooltip",
"Local uses bounds, global affects everywhere"},
57 .data<&volume_component::priority>(
"priority"_hs)
61 entt::attribute{
"tooltip",
"Higher priority wins when multiple volumes overlap"},
63 .data<&volume_component::weight>(
"weight"_hs)
72 .data<&volume_component::blend_distance>(
"blend_distance"_hs)
77 entt::attribute{
"tooltip",
"Distance outside volume over which contribution ramps from 0 to 1"},
80 .data<&volume_component::extents>(
"extents"_hs)
91 try_save(ar, ser20::make_nvp(
"mode",
static_cast<std::underlying_type_t<volume_mode>
>(obj.mode)));
92 try_save(ar, ser20::make_nvp(
"priority", obj.priority));
93 try_save(ar, ser20::make_nvp(
"weight", obj.weight));
94 try_save(ar, ser20::make_nvp(
"blend_distance", obj.blend_distance));
95 try_save(ar, ser20::make_nvp(
"extents", obj.extents));
109 std::underlying_type_t<volume_mode> mode_val = 0;
110 try_load(ar, ser20::make_nvp(
"mode", mode_val));
113 try_load(ar, ser20::make_nvp(
"priority", obj.priority));
114 try_load(ar, ser20::make_nvp(
"weight", obj.weight));
115 try_load(ar, ser20::make_nvp(
"blend_distance", obj.blend_distance));
116 try_load(ar, ser20::make_nvp(
"extents", obj.extents));
Spatial volume that applies post-processing effects when the camera is inside. Effect settings come f...
volume_mode mode
Volume mode: local uses bounds, global affects camera everywhere.
auto property_predicate(property_predicate_t< T > predicate) -> property_predicate_t< T >
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 REFLECT_INLINE(cls)
#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