Add DDGI injection into Volumetric Fog

This commit is contained in:
Wojciech Figat
2022-06-15 09:51:40 +02:00
parent 4386dc8774
commit 84ddba5814
3 changed files with 53 additions and 14 deletions

View File

@@ -5,6 +5,7 @@
#include "Engine/Graphics/RenderView.h"
#include "Engine/Graphics/GPUPipelineStatePermutations.h"
#include "RendererPass.h"
#include "GI/DynamicDiffuseGlobalIllumination.h"
struct VolumetricFogOptions;
struct RendererSpotLightData;
@@ -64,6 +65,7 @@ private:
LightData DirectionalLight;
LightShadowData DirectionalLightShadow;
SkyLightData SkyLight;
DynamicDiffuseGlobalIlluminationPass::ConstantsData DDGI;
});
PACK_STRUCT(struct PerLight {
@@ -81,7 +83,7 @@ private:
// Shader stuff
AssetReference<Shader> _shader;
GPUShaderProgramCS* _csInitialize = nullptr;
ComputeShaderPermutation<1> _csLightScattering;
ComputeShaderPermutation<2> _csLightScattering;
GPUShaderProgramCS* _csFinalIntegration = nullptr;
GPUPipelineStatePermutationsPs<2> _psInjectLight;