Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/game/StarLightSource.hpp
diff options
context:
space:
mode:
authorKae <80987908+Novaenia@users.noreply.github.com>2024-03-26 07:31:33 +1100
committerKae <80987908+Novaenia@users.noreply.github.com>2024-03-26 07:31:33 +1100
commitc484fab32dcac655164f082805d1d55d1d058f2f (patch)
tree9eeabdaee723a88bbebdd77d41d1bb93ee3def83 /source/game/StarLightSource.hpp
parent77d7f8eb81af21dd231f6384951fc2c14c149d5c (diff)
experiment: auto-conversion of object spread lights to hybrid spread/point lights
Diffstat (limited to 'source/game/StarLightSource.hpp')
-rw-r--r--source/game/StarLightSource.hpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/source/game/StarLightSource.hpp b/source/game/StarLightSource.hpp
index a6948cb..673cd56 100644
--- a/source/game/StarLightSource.hpp
+++ b/source/game/StarLightSource.hpp
@@ -2,14 +2,22 @@
#include "StarVector.hpp"
#include "StarDataStream.hpp"
+#include "StarBiMap.hpp"
namespace Star {
+enum class LightType : uint8_t {
+ Spread = 0,
+ Point = 1,
+ PointAsSpread = 2 // Point with spread-like range
+};
+
+extern EnumMap<LightType> const LightTypeNames;
+
struct LightSource {
Vec2F position;
Vec3F color;
-
- bool pointLight;
+ LightType type;
// pointBeam of 0.0 means light has no beam component, as pointBeam goes up,
// the dropoff from the beamAngle becomes faster and faster.
float pointBeam;