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