File ShadowSystem.h
FileList > render > ShadowSystem.h
Go to the source code of this file
GPU light buffer management, shadow map caching, and shadow computation. More...
#include "Light.h"#include "RenderConfigs.h"#include "Texture.h"#include "buffers/StorageBuffer.h"#include "buffers/UniformBuffer.h"#include "buffers/FrameBuffer.h"#include "PolygonLight.h"#include "shaders/RenderShader.h"#include <unordered_map>#include <vector>#include <memory>#include <array>
Classes
| Type | Name |
|---|---|
| struct | ShadowSystem Owns per-light GPU resources, shadow maps, and shadow computation. |
| struct | AreaStruct GPU layout for area light data. |
| struct | PointStruct GPU layout for point light data. |
| struct | PolyStruct GPU layout for polygonal light header data. |
| struct | PolyVertStruct GPU layout for polygonal light vertex data. |
| struct | SceneInfo Light count statistics for current scene. |
| struct | SpotStruct GPU layout for spot light data. |
| struct | SunStruct GPU layout for sun/directional light data. |
Detailed Description
Provides ShadowSystem for aggregating scene lights into typed GPU storage buffers (SSBO), owning per-light shadow map textures and projection matrices, and managing the shadow computation pipeline.
Architecture: * ShadowSystem converts scene lights into GPU-friendly buffers * ShadowSystem owns per-light shadow maps (raw depth/moment textures) * ShadowSystem owns per-light projection matrices * Renderer reads light data via ShadowSystem bindings
Note:
Separated from Light (scene layer) because ShadowSystem is a render-layer concern: it manages GPU resources and shadow computation, not scene objects.
The documentation for this class was generated from the following file src/render/ShadowSystem.h