diff options
author | 3gg <3gg@shellblade.net> | 2025-06-27 10:18:39 -0700 |
---|---|---|
committer | 3gg <3gg@shellblade.net> | 2025-06-27 10:18:39 -0700 |
commit | bd57f345ed9dbed1d81683e48199626de2ea9044 (patch) | |
tree | 4221f2f2a7ad2244d2e93052bd68187ec91b8ea9 /src/scene/light_impl.h | |
parent | 9a82ce0083437a4f9f58108b2c23b957d2249ad8 (diff) |
Diffstat (limited to 'src/scene/light_impl.h')
-rw-r--r-- | src/scene/light_impl.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/scene/light_impl.h b/src/scene/light_impl.h new file mode 100644 index 0000000..1aa0bb4 --- /dev/null +++ b/src/scene/light_impl.h | |||
@@ -0,0 +1,25 @@ | |||
1 | #pragma once | ||
2 | |||
3 | #include <gfx/scene/light.h> | ||
4 | |||
5 | #include "types.h" | ||
6 | |||
7 | typedef struct Texture Texture; | ||
8 | |||
9 | /// An environment light. | ||
10 | typedef struct EnvironmentLight { | ||
11 | const Texture* environment_map; | ||
12 | const Texture* irradiance_map; // Renderer implementation. | ||
13 | const Texture* prefiltered_environment_map; // Renderer implementation. | ||
14 | int max_reflection_lod; // Mandatory when prefiltered_environment_map is | ||
15 | // given. | ||
16 | } EnvironmentLight; | ||
17 | |||
18 | /// A scene light. | ||
19 | typedef struct Light { | ||
20 | LightType type; | ||
21 | union { | ||
22 | EnvironmentLight environment; | ||
23 | }; | ||
24 | node_idx parent; // Parent SceneNode. | ||
25 | } Light; | ||