Files

44 lines
1.3 KiB
C++
Raw Permalink Normal View History

2026-07-17 15:30:29 +01:00
#ifndef HYDRADEFERREDPIPELINE
#define HYDRADEFERREDPIPELINE
#include "../engine/HydraObject.h"
#include "../windowmanager/HydraRenderSettings.h"
#include "HydraPipeline.h"
#include "HydraRenderStage.h"
#include <vector>
class HydraRenderStage;
class HydraDeferredPipeline : public HydraPipeline
{
public:
virtual void Initialise() override;
virtual void Shutdown() override;
virtual void Render() override;
private:
HydraID m_per_frame_ubo = INVALID_HYDRA_ID;
HydraID m_per_frame_output_ubo = INVALID_HYDRA_ID;
HydraID m_material_buffer = INVALID_HYDRA_ID;
HydraID m_buffer_0 = INVALID_HYDRA_ID; //Frame buffer 0;
HydraID m_depth = INVALID_HYDRA_ID;
HydraID m_output_actor_id = INVALID_HYDRA_ID;
2026-08-03 22:34:52 +01:00
HydraID m_texture_debug_actor_id = INVALID_HYDRA_ID;
2026-07-17 15:30:29 +01:00
HydraID m_output_texture_ubo = INVALID_HYDRA_ID;
HydraID m_output_light_ubo = INVALID_HYDRA_ID;
2026-08-03 22:34:52 +01:00
HydraID m_texture_debug_ubo = INVALID_HYDRA_ID;
2026-07-17 15:30:29 +01:00
uint32_t m_frame_buffer_id;
void _UpdateUBO();
void _CreateFrameBuffer();
void _CreateColourRenderStage();
void _CreateOutputRenderStage();
void _CreateOutputActor();
2026-08-03 22:34:52 +01:00
void _CreateTextureDebugOutputStage();
2026-07-17 15:30:29 +01:00
void _CreateUBOs();
};
#endif /* HYDRADEFERREDPIPELINE */