Files
HydraV3/HydraEngine/source/pipeline/HydraShadowPipeline.h
T

39 lines
944 B
C++
Raw Normal View History

2026-07-25 16:40:34 +01:00
#ifndef HYDRASHADOWPIPELINE
#define HYDRASHADOWPIPELINE
#include "../engine/HydraObject.h"
#include "../windowmanager/HydraRenderSettings.h"
#include "HydraPipeline.h"
#include "HydraRenderStage.h"
#include <vector>
class HydraRenderStage;
class HydraShadowPipeline : public HydraPipeline
{
public:
void Initialise() override;
void Shutdown() override;
void Render() override;
private:
2026-07-28 00:26:04 +01:00
void _CreateUBOs();
2026-08-04 22:40:48 +01:00
void _CreateSpotRenderStage();
void _CreateDirectionalRenderStage();
2026-07-28 00:26:04 +01:00
void _UpdateUBO(uint32_t shadow_idx);
void _BindFrameBufferAttachments(HydraID entity_id);
2026-08-04 22:40:48 +01:00
void _RenderDirectionalShadowMaps();
void _RenderSpotShadowMaps();
2026-07-28 00:26:04 +01:00
HydraID m_per_frame_ubo = INVALID_HYDRA_ID;
2026-08-04 22:40:48 +01:00
const uint32_t DIRECTIONAL_RENDER_STAGE = 0;
const uint32_t SPOT_RENDER_STAGE = 1;
2026-07-28 19:02:45 +01:00
2026-07-25 16:40:34 +01:00
};
#endif /* HYDRADEFERREDPIPELINE */