#pragma once #include #include "types.h" typedef struct Texture Texture; /// An environment light. typedef struct EnvironmentLight { const Texture* environment_map; const Texture* irradiance_map; // Renderer implementation. const Texture* prefiltered_environment_map; // Renderer implementation. int max_reflection_lod; // Mandatory when prefiltered_environment_map is // given. } EnvironmentLight; /// A scene light. typedef struct Light { LightType type; union { EnvironmentLight environment; }; node_idx parent; // Parent SceneNode. } Light;