79 struct : halp::combobox_t<
"Mode", Mode>
83 std::string_view values[7]{
84 "Directional",
"Point",
"Spot",
85 "Rect",
"Disk",
"Sphere",
"Dome"};
88 void update(
Light& n) { n.rebuild(); }
92 struct : halp::color_chooser<
"Color">
93 {
void update(
Light& n) { n.rebuild(); } } color;
94 struct : halp::hslider_f32<
"Intensity", halp::range{0., 100., 1.}>
95 {
void update(
Light& n) { n.rebuild(); } } intensity;
97 struct : halp::hslider_f32<
"Range", halp::range{0., 1000., 0.}>
98 {
void update(
Light& n) { n.rebuild(); } }
range;
100 struct : halp::combobox_t<
"Falloff", Decay>
104 std::string_view values[4]{
105 "None",
"Linear",
"Quadratic (physical)",
"Cubic"};
108 void update(
Light& n) { n.rebuild(); }
112 struct : halp::hslider_f32<
"Inner cone °", halp::range{0., 90., 0.}>
113 {
void update(
Light& n) { n.rebuild(); } } inner_cone;
114 struct : halp::hslider_f32<
"Outer cone °", halp::range{0., 90., 45.}>
115 {
void update(
Light& n) { n.rebuild(); } } outer_cone;
118 struct : halp::hslider_f32<
"Width", halp::range{0.01, 100., 1.}>
119 {
void update(
Light& n) { n.rebuild(); } } width;
120 struct : halp::hslider_f32<
"Height", halp::range{0.01, 100., 1.}>
121 {
void update(
Light& n) { n.rebuild(); } } height;
122 struct : halp::hslider_f32<
"Radius", halp::range{0.01, 100., 0.5}>
123 {
void update(
Light& n) { n.rebuild(); } } radius;
126 struct : halp::toggle<
"Cast shadow">
127 {
void update(
Light& n) { n.rebuild(); } } cast_shadow;
128 struct : halp::hslider_f32<
"Shadow bias", halp::range{0., 0.1, 0.001}>
129 {
void update(
Light& n) { n.rebuild(); } } shadow_bias;
130 struct : halp::hslider_f32<
"Shadow normal bias", halp::range{0., 0.1, 0.01}>
131 {
void update(
Light& n) { n.rebuild(); } } shadow_normal_bias;
137 {
void update(
Light& n) { n.rebuild(); } } position;
139 {
void update(
Light& n) { n.rebuild(); } } rotation;