#pragma once #include /// 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; }; } Light;