3232#include " graphics/schedule/producers/pathtracedlightingproducer.h"
3333#include " graphics/schedule/producers/translucencyproducer.h"
3434
35+ #include " graphics/schedule/producers/globalillumination/irradiancefieldproducer.h"
36+
3537#include " graphics/schedule/producers/postprocess/postfxsourceproducer.h"
3638#include " graphics/schedule/producers/postprocess/bloomproducer.h"
3739#include " graphics/schedule/producers/postprocess/depthoffieldproducer.h"
4547
4648DECLARE_GFX_PA (GBufferProducer)
4749DECLARE_GFX_PA(GlobalConstantsProducer)
48- DECLARE_GFX_PA(LightingCompositeProducer)
4950DECLARE_GFX_PA(MaterialTableProducer)
5051DECLARE_GFX_PA(ProceduralSkyProducer)
5152DECLARE_GFX_PA(RaytracingResourceProducer)
53+ DECLARE_GFX_PA(IrradianceFieldProducer)
5254DECLARE_GFX_PA(RaytracedLightingProducer)
5355DECLARE_GFX_PA(RaytracedTranslucencyProducer)
5456DECLARE_GFX_PA(PathtracedLightingProducer)
57+ DECLARE_GFX_PA(LightingCompositeProducer)
5558DECLARE_GFX_PA(TranslucencyProducer)
5659
5760DECLARE_GFX_PA(PostFxSourceProducer)
@@ -60,6 +63,8 @@ DECLARE_GFX_PA(DepthOfFieldProducer)
6063DECLARE_GFX_PA(TemporalAAProducer)
6164DECLARE_GFX_PA(FinalCompositeProducer)
6265
66+ DECLARE_GFX_PA(IrradianceFieldVisualizationProducer)
67+
6368#if ETH_TOOLMODE
6469DECLARE_GFX_PA (EditorGridProducer)
6570DECLARE_GFX_PA(EditorOutlineProducer)
@@ -69,13 +74,14 @@ Ether::Graphics::FrameScheduler::FrameScheduler()
6974{
7075 Register (ACCESS_GFX_PA (GBufferProducer), new GBufferProducer ());
7176 Register (ACCESS_GFX_PA (GlobalConstantsProducer), new GlobalConstantsProducer ());
72- Register (ACCESS_GFX_PA (LightingCompositeProducer), new LightingCompositeProducer ());
7377 Register (ACCESS_GFX_PA (MaterialTableProducer), new MaterialTableProducer ());
7478 Register (ACCESS_GFX_PA (ProceduralSkyProducer), new ProceduralSkyProducer ());
7579 Register (ACCESS_GFX_PA (RaytracingResourceProducer), new RaytracingResourceProducer ());
80+ Register (ACCESS_GFX_PA (IrradianceFieldProducer), new IrradianceFieldProducer ());
7681 Register (ACCESS_GFX_PA (RaytracedLightingProducer), new RaytracedLightingProducer ());
7782 Register (ACCESS_GFX_PA (RaytracedTranslucencyProducer), new RaytracedTranslucencyProducer ());
7883 Register (ACCESS_GFX_PA (PathtracedLightingProducer), new PathtracedLightingProducer ());
84+ Register (ACCESS_GFX_PA (LightingCompositeProducer), new LightingCompositeProducer ());
7985 Register (ACCESS_GFX_PA (TranslucencyProducer), new TranslucencyProducer ());
8086
8187 Register (ACCESS_GFX_PA (PostFxSourceProducer), new PostFxSourceProducer ());
@@ -84,6 +90,8 @@ Ether::Graphics::FrameScheduler::FrameScheduler()
8490 Register (ACCESS_GFX_PA (TemporalAAProducer), new TemporalAAProducer ());
8591 Register (ACCESS_GFX_PA (FinalCompositeProducer), new FinalCompositeProducer ());
8692
93+ Register (ACCESS_GFX_PA (IrradianceFieldVisualizationProducer), new IrradianceFieldVisualizationProducer ());
94+
8795#if ETH_TOOLMODE
8896 Register (ACCESS_GFX_PA (EditorGridProducer), new EditorGridProducer ());
8997 Register (ACCESS_GFX_PA (EditorOutlineProducer), new EditorOutlineProducer ());
@@ -101,6 +109,7 @@ Ether::Graphics::FrameScheduler::~FrameScheduler()
101109 ACCESS_GFX_PA (MaterialTableProducer).Release ();
102110 ACCESS_GFX_PA (ProceduralSkyProducer).Release ();
103111 ACCESS_GFX_PA (RaytracingResourceProducer).Release ();
112+ ACCESS_GFX_PA (IrradianceFieldProducer).Release ();
104113 ACCESS_GFX_PA (RaytracedLightingProducer).Release ();
105114 ACCESS_GFX_PA (PathtracedLightingProducer).Release ();
106115 ACCESS_GFX_PA (TranslucencyProducer).Release ();
@@ -112,6 +121,8 @@ Ether::Graphics::FrameScheduler::~FrameScheduler()
112121 ACCESS_GFX_PA (TemporalAAProducer).Release ();
113122 ACCESS_GFX_PA (FinalCompositeProducer).Release ();
114123
124+ ACCESS_GFX_PA (IrradianceFieldVisualizationProducer).Release ();
125+
115126#if ETH_TOOLMODE
116127 ACCESS_GFX_PA (EditorGridProducer).Release ();
117128 ACCESS_GFX_PA (EditorOutlineProducer).Release ();
@@ -182,6 +193,7 @@ void Ether::Graphics::FrameScheduler::BuildSchedule()
182193 m_OrderedProducers.push (ACCESS_GFX_PA (MaterialTableProducer).Get ());
183194 m_OrderedProducers.push (ACCESS_GFX_PA (ProceduralSkyProducer).Get ());
184195 m_OrderedProducers.push (ACCESS_GFX_PA (RaytracingResourceProducer).Get ());
196+ m_OrderedProducers.push (ACCESS_GFX_PA (IrradianceFieldProducer).Get ());
185197 m_OrderedProducers.push (ACCESS_GFX_PA (GBufferProducer).Get ());
186198 m_OrderedProducers.push (ACCESS_GFX_PA (RaytracedLightingProducer).Get ());
187199 m_OrderedProducers.push (ACCESS_GFX_PA (PathtracedLightingProducer).Get ());
@@ -198,6 +210,9 @@ void Ether::Graphics::FrameScheduler::BuildSchedule()
198210 // TODO: Add a tonemapping pass instead of dumping it in final composite, and move it before TAA
199211 m_OrderedProducers.push (ACCESS_GFX_PA (FinalCompositeProducer).Get ());
200212
213+ // Debug Visualizers:
214+ m_OrderedProducers.push (ACCESS_GFX_PA (IrradianceFieldVisualizationProducer).Get ());
215+
201216#if ETH_TOOLMODE
202217 m_OrderedProducers.push (ACCESS_GFX_PA (EditorGridProducer).Get ());
203218 m_OrderedProducers.push (ACCESS_GFX_PA (EditorOutlineProducer).Get ());
0 commit comments