From cdbb2cc813a7d0760bbb69f1c60861f0610be579 Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Mon, 25 Mar 2024 17:52:48 +0100 Subject: [PATCH] Refactor shader structures naming with a prefix --- .../Materials/MaterialShaderFeatures.h | 12 +++++----- .../Engine/Level/Actors/EnvironmentProbe.cpp | 2 +- Source/Engine/Level/Actors/EnvironmentProbe.h | 2 +- .../Level/Actors/ExponentialHeightFog.cpp | 6 ++--- .../Level/Actors/ExponentialHeightFog.h | 2 +- Source/Engine/Level/Actors/Sky.cpp | 6 ++--- Source/Engine/Level/Actors/Sky.h | 2 +- Source/Engine/Renderer/AmbientOcclusionPass.h | 2 +- Source/Engine/Renderer/AntiAliasing/TAA.cpp | 2 +- Source/Engine/Renderer/Config.h | 24 +++++++++---------- Source/Engine/Renderer/DrawCall.h | 2 +- Source/Engine/Renderer/GBufferPass.cpp | 4 ++-- Source/Engine/Renderer/GBufferPass.h | 2 +- .../GI/DynamicDiffuseGlobalIllumination.cpp | 2 +- .../Renderer/GI/GlobalSurfaceAtlasPass.cpp | 2 +- Source/Engine/Renderer/LightPass.cpp | 4 ++-- Source/Engine/Renderer/MotionBlurPass.cpp | 2 +- Source/Engine/Renderer/ReflectionsPass.h | 4 ++-- Source/Engine/Renderer/RenderList.cpp | 8 +++---- Source/Engine/Renderer/RenderList.h | 8 +++---- .../Renderer/ScreenSpaceReflectionsPass.cpp | 2 +- Source/Engine/Renderer/ShadowsPass.cpp | 6 ++--- Source/Engine/Renderer/ShadowsPass.h | 4 ++-- Source/Engine/Renderer/VolumetricFogPass.cpp | 6 ++--- Source/Engine/Renderer/VolumetricFogPass.h | 16 ++++++------- 25 files changed, 66 insertions(+), 66 deletions(-) diff --git a/Source/Engine/Graphics/Materials/MaterialShaderFeatures.h b/Source/Engine/Graphics/Materials/MaterialShaderFeatures.h index 0df2e9a2e..f48c6821c 100644 --- a/Source/Engine/Graphics/Materials/MaterialShaderFeatures.h +++ b/Source/Engine/Graphics/Materials/MaterialShaderFeatures.h @@ -27,14 +27,14 @@ struct ForwardShadingFeature : MaterialShaderFeature PACK_STRUCT(struct Data { - LightData DirectionalLight; - LightShadowData DirectionalLightShadow; - LightData SkyLight; - ProbeData EnvironmentProbe; - ExponentialHeightFogData ExponentialHeightFog; + ShaderLightData DirectionalLight; + ShaderLightShadowData DirectionalLightShadow; + ShaderLightData SkyLight; + ShaderEnvProbeData EnvironmentProbe; + ShaderExponentialHeightFogData ExponentialHeightFog; Float3 Dummy2; uint32 LocalLightsCount; - LightData LocalLights[MaxLocalLights]; + ShaderLightData LocalLights[MaxLocalLights]; }); static void Bind(MaterialShader::BindParameters& params, Span& cb, int32& srv); diff --git a/Source/Engine/Level/Actors/EnvironmentProbe.cpp b/Source/Engine/Level/Actors/EnvironmentProbe.cpp index d95d957a3..4584cfe14 100644 --- a/Source/Engine/Level/Actors/EnvironmentProbe.cpp +++ b/Source/Engine/Level/Actors/EnvironmentProbe.cpp @@ -61,7 +61,7 @@ bool EnvironmentProbe::IsUsingCustomProbe() const return _isUsingCustomProbe; } -void EnvironmentProbe::SetupProbeData(const RenderContext& renderContext, ProbeData* data) const +void EnvironmentProbe::SetupProbeData(const RenderContext& renderContext, ShaderEnvProbeData* data) const { const float radius = GetScaledRadius(); data->Data0 = Float4(GetPosition() - renderContext.View.Origin, 0); diff --git a/Source/Engine/Level/Actors/EnvironmentProbe.h b/Source/Engine/Level/Actors/EnvironmentProbe.h index ae64e9ce0..dd90a446c 100644 --- a/Source/Engine/Level/Actors/EnvironmentProbe.h +++ b/Source/Engine/Level/Actors/EnvironmentProbe.h @@ -95,7 +95,7 @@ public: /// /// Rendering context /// Packed probe data to set - void SetupProbeData(const RenderContext& renderContext, struct ProbeData* data) const; + void SetupProbeData(const RenderContext& renderContext, struct ShaderEnvProbeData* data) const; /// /// Gets the custom probe (null if using baked one or none). diff --git a/Source/Engine/Level/Actors/ExponentialHeightFog.cpp b/Source/Engine/Level/Actors/ExponentialHeightFog.cpp index 39febfaf8..d2ebb69b2 100644 --- a/Source/Engine/Level/Actors/ExponentialHeightFog.cpp +++ b/Source/Engine/Level/Actors/ExponentialHeightFog.cpp @@ -144,7 +144,7 @@ void ExponentialHeightFog::GetVolumetricFogOptions(VolumetricFogOptions& result) result.FogParameters = Float4(density, height, heightFalloff, 0.0f); } -void ExponentialHeightFog::GetExponentialHeightFogData(const RenderView& view, ExponentialHeightFogData& result) const +void ExponentialHeightFog::GetExponentialHeightFogData(const RenderView& view, ShaderExponentialHeightFogData& result) const { const float height = (float)GetPosition().Y; const float density = FogDensity / 1000.0f; @@ -180,8 +180,8 @@ void ExponentialHeightFog::GetExponentialHeightFogData(const RenderView& view, E } PACK_STRUCT(struct Data { - GBufferData GBuffer; - ExponentialHeightFogData ExponentialHeightFog; + ShaderGBufferData GBuffer; + ShaderExponentialHeightFogData ExponentialHeightFog; }); void ExponentialHeightFog::DrawFog(GPUContext* context, RenderContext& renderContext, GPUTextureView* output) diff --git a/Source/Engine/Level/Actors/ExponentialHeightFog.h b/Source/Engine/Level/Actors/ExponentialHeightFog.h index ee39c58e0..ea6d2adeb 100644 --- a/Source/Engine/Level/Actors/ExponentialHeightFog.h +++ b/Source/Engine/Level/Actors/ExponentialHeightFog.h @@ -155,7 +155,7 @@ public: // [IFogRenderer] void GetVolumetricFogOptions(VolumetricFogOptions& result) const override; - void GetExponentialHeightFogData(const RenderView& view, ExponentialHeightFogData& result) const override; + void GetExponentialHeightFogData(const RenderView& view, ShaderExponentialHeightFogData& result) const override; void DrawFog(GPUContext* context, RenderContext& renderContext, GPUTextureView* output) override; protected: diff --git a/Source/Engine/Level/Actors/Sky.cpp b/Source/Engine/Level/Actors/Sky.cpp index 674b5d1a9..103d37316 100644 --- a/Source/Engine/Level/Actors/Sky.cpp +++ b/Source/Engine/Level/Actors/Sky.cpp @@ -21,8 +21,8 @@ PACK_STRUCT(struct Data { Matrix WVP; Float3 ViewOffset; float Padding; - GBufferData GBuffer; - AtmosphericFogData Fog; + ShaderGBufferData GBuffer; + ShaderAtmosphericFogData Fog; }); Sky::Sky(const SpawnParams& params) @@ -52,7 +52,7 @@ Sky::~Sky() SAFE_DELETE_GPU_RESOURCE(_psFog); } -void Sky::InitConfig(AtmosphericFogData& config) const +void Sky::InitConfig(ShaderAtmosphericFogData& config) const { config.AtmosphericFogDensityScale = 1.0f; config.AtmosphericFogSunDiscScale = SunDiscScale; diff --git a/Source/Engine/Level/Actors/Sky.h b/Source/Engine/Level/Actors/Sky.h index a4ad40b7b..313843748 100644 --- a/Source/Engine/Level/Actors/Sky.h +++ b/Source/Engine/Level/Actors/Sky.h @@ -54,7 +54,7 @@ private: _psFog = nullptr; } #endif - void InitConfig(AtmosphericFogData& config) const; + void InitConfig(ShaderAtmosphericFogData& config) const; public: // [Actor] diff --git a/Source/Engine/Renderer/AmbientOcclusionPass.h b/Source/Engine/Renderer/AmbientOcclusionPass.h index 3e44f0d28..9dacae18b 100644 --- a/Source/Engine/Renderer/AmbientOcclusionPass.h +++ b/Source/Engine/Renderer/AmbientOcclusionPass.h @@ -20,7 +20,7 @@ private: // Packed shader constant buffer structure (this MUST match shader code) PACK_STRUCT(struct ASSAOConstants { - GBufferData GBuffer; + ShaderGBufferData GBuffer; Float2 ViewportPixelSize; Float2 HalfViewportPixelSize; diff --git a/Source/Engine/Renderer/AntiAliasing/TAA.cpp b/Source/Engine/Renderer/AntiAliasing/TAA.cpp index 38e38636a..4c6c899eb 100644 --- a/Source/Engine/Renderer/AntiAliasing/TAA.cpp +++ b/Source/Engine/Renderer/AntiAliasing/TAA.cpp @@ -19,7 +19,7 @@ PACK_STRUCT(struct Data float StationaryBlending; float MotionBlending; float Dummy0; - GBufferData GBuffer; + ShaderGBufferData GBuffer; }); bool TAA::Init() diff --git a/Source/Engine/Renderer/Config.h b/Source/Engine/Renderer/Config.h index fb6b210dd..b74cb20da 100644 --- a/Source/Engine/Renderer/Config.h +++ b/Source/Engine/Renderer/Config.h @@ -10,21 +10,21 @@ /// /// Structure that contains information about GBuffer for shaders. /// -struct GBufferData -{ +PACK_STRUCT(struct ShaderGBufferData + { Float4 ViewInfo; Float4 ScreenSize; Float3 ViewPos; float ViewFar; Matrix InvViewMatrix; Matrix InvProjectionMatrix; -}; + }); /// /// Structure that contains information about exponential height fog for shaders. /// -struct ExponentialHeightFogData -{ +PACK_STRUCT(struct ShaderExponentialHeightFogData + { Float3 FogInscatteringColor; float FogMinOpacity; @@ -43,13 +43,13 @@ struct ExponentialHeightFogData float VolumetricFogMaxDistance; float DirectionalInscatteringStartDistance; float StartDistance; -}; + }); /// /// Structure that contains information about atmosphere fog for shaders. /// -struct AtmosphericFogData -{ +PACK_STRUCT(struct ShaderAtmosphericFogData + { float AtmosphericFogDensityScale; float AtmosphericFogSunDiscScale; float AtmosphericFogDistanceScale; @@ -65,12 +65,12 @@ struct AtmosphericFogData Float3 AtmosphericFogSunColor; float AtmosphericFogDensityOffset; -}; + }); /// /// Structure that contains information about light for shaders. /// -PACK_STRUCT(struct LightData { +PACK_STRUCT(struct ShaderLightData { Float2 SpotAngles; float SourceRadius; float SourceLength; @@ -89,7 +89,7 @@ PACK_STRUCT(struct LightData { /// /// Structure that contains information about light for shaders. /// -PACK_STRUCT(struct LightShadowData { +PACK_STRUCT(struct ShaderLightShadowData { Float2 ShadowMapSize; float Sharpness; float Fade; @@ -104,7 +104,7 @@ PACK_STRUCT(struct LightShadowData { /// /// Packed env probe data /// -PACK_STRUCT(struct ProbeData { +PACK_STRUCT(struct ShaderEnvProbeData { Float4 Data0; // x - Position.x, y - Position.y, z - Position.z, w - unused Float4 Data1; // x - Radius , y - 1 / Radius, z - Brightness, w - unused }); diff --git a/Source/Engine/Renderer/DrawCall.h b/Source/Engine/Renderer/DrawCall.h index b77541fca..448d1361e 100644 --- a/Source/Engine/Renderer/DrawCall.h +++ b/Source/Engine/Renderer/DrawCall.h @@ -86,7 +86,7 @@ public: /// /// The rendering view. /// The result. - virtual void GetExponentialHeightFogData(const RenderView& view, ExponentialHeightFogData& result) const = 0; + virtual void GetExponentialHeightFogData(const RenderView& view, ShaderExponentialHeightFogData& result) const = 0; /// /// Draw fog using GBuffer inputs diff --git a/Source/Engine/Renderer/GBufferPass.cpp b/Source/Engine/Renderer/GBufferPass.cpp index c962160db..f196a4ee9 100644 --- a/Source/Engine/Renderer/GBufferPass.cpp +++ b/Source/Engine/Renderer/GBufferPass.cpp @@ -22,7 +22,7 @@ #include "Engine/Engine/Engine.h" PACK_STRUCT(struct GBufferPassData{ - GBufferData GBuffer; + ShaderGBufferData GBuffer; Float3 Dummy0; int32 ViewMode; }); @@ -393,7 +393,7 @@ bool GBufferPass::IsDebugView(ViewMode mode) } } -void GBufferPass::SetInputs(const RenderView& view, GBufferData& gBuffer) +void GBufferPass::SetInputs(const RenderView& view, ShaderGBufferData& gBuffer) { // GBuffer params: // ViewInfo : x-1/Projection[0,0] y-1/Projection[1,1] z-(Far / (Far - Near) w-(-Far * Near) / (Far - Near) / Far) diff --git a/Source/Engine/Renderer/GBufferPass.h b/Source/Engine/Renderer/GBufferPass.h index 660ff22db..935fa91d5 100644 --- a/Source/Engine/Renderer/GBufferPass.h +++ b/Source/Engine/Renderer/GBufferPass.h @@ -73,7 +73,7 @@ public: /// /// The rendering view. /// GBuffer input to setup - static void SetInputs(const RenderView& view, GBufferData& gBuffer); + static void SetInputs(const RenderView& view, ShaderGBufferData& gBuffer); private: diff --git a/Source/Engine/Renderer/GI/DynamicDiffuseGlobalIllumination.cpp b/Source/Engine/Renderer/GI/DynamicDiffuseGlobalIllumination.cpp index c810c90aa..56d1194d5 100644 --- a/Source/Engine/Renderer/GI/DynamicDiffuseGlobalIllumination.cpp +++ b/Source/Engine/Renderer/GI/DynamicDiffuseGlobalIllumination.cpp @@ -46,7 +46,7 @@ PACK_STRUCT(struct Data0 DynamicDiffuseGlobalIlluminationPass::ConstantsData DDGI; GlobalSignDistanceFieldPass::ConstantsData GlobalSDF; GlobalSurfaceAtlasPass::ConstantsData GlobalSurfaceAtlas; - GBufferData GBuffer; + ShaderGBufferData GBuffer; float Padding0; float ProbesDistanceLimit; float ResetBlend; diff --git a/Source/Engine/Renderer/GI/GlobalSurfaceAtlasPass.cpp b/Source/Engine/Renderer/GI/GlobalSurfaceAtlasPass.cpp index fb0faa27a..49eca6604 100644 --- a/Source/Engine/Renderer/GI/GlobalSurfaceAtlasPass.cpp +++ b/Source/Engine/Renderer/GI/GlobalSurfaceAtlasPass.cpp @@ -54,7 +54,7 @@ PACK_STRUCT(struct Data0 GlobalSignDistanceFieldPass::ConstantsData GlobalSDF; GlobalSurfaceAtlasPass::ConstantsData GlobalSurfaceAtlas; DynamicDiffuseGlobalIlluminationPass::ConstantsData DDGI; - LightData Light; + ShaderLightData Light; }); PACK_STRUCT(struct AtlasTileVertex diff --git a/Source/Engine/Renderer/LightPass.cpp b/Source/Engine/Renderer/LightPass.cpp index d3927b2cf..f9e7038d7 100644 --- a/Source/Engine/Renderer/LightPass.cpp +++ b/Source/Engine/Renderer/LightPass.cpp @@ -13,12 +13,12 @@ #include "Engine/Graphics/RenderTask.h" PACK_STRUCT(struct PerLight{ - LightData Light; + ShaderLightData Light; Matrix WVP; }); PACK_STRUCT(struct PerFrame{ - GBufferData GBuffer; + ShaderGBufferData GBuffer; }); String LightPass::ToString() const diff --git a/Source/Engine/Renderer/MotionBlurPass.cpp b/Source/Engine/Renderer/MotionBlurPass.cpp index 64f0aa80f..a195bb14c 100644 --- a/Source/Engine/Renderer/MotionBlurPass.cpp +++ b/Source/Engine/Renderer/MotionBlurPass.cpp @@ -18,7 +18,7 @@ #include "Engine/Engine/Time.h" PACK_STRUCT(struct Data { - GBufferData GBuffer; + ShaderGBufferData GBuffer; Matrix CurrentVP; Matrix PreviousVP; Float4 TemporalAAJitter; diff --git a/Source/Engine/Renderer/ReflectionsPass.h b/Source/Engine/Renderer/ReflectionsPass.h index 2b4276f07..a88a4eec4 100644 --- a/Source/Engine/Renderer/ReflectionsPass.h +++ b/Source/Engine/Renderer/ReflectionsPass.h @@ -18,9 +18,9 @@ class ReflectionsPass : public RendererPass private: PACK_STRUCT(struct Data { - ProbeData PData; + ShaderEnvProbeData PData; Matrix WVP; - GBufferData GBuffer; + ShaderGBufferData GBuffer; }); AssetReference _shader; diff --git a/Source/Engine/Renderer/RenderList.cpp b/Source/Engine/Renderer/RenderList.cpp index 32474a143..1d9ca639a 100644 --- a/Source/Engine/Renderer/RenderList.cpp +++ b/Source/Engine/Renderer/RenderList.cpp @@ -39,7 +39,7 @@ namespace CriticalSection MemPoolLocker; } -void RenderDirectionalLightData::SetupLightData(LightData* data, bool useShadow) const +void RenderDirectionalLightData::SetupLightData(ShaderLightData* data, bool useShadow) const { data->SpotAngles.X = -2.0f; data->SpotAngles.Y = 1.0f; @@ -56,7 +56,7 @@ void RenderDirectionalLightData::SetupLightData(LightData* data, bool useShadow) data->RadiusInv = 0; } -void RenderSpotLightData::SetupLightData(LightData* data, bool useShadow) const +void RenderSpotLightData::SetupLightData(ShaderLightData* data, bool useShadow) const { data->SpotAngles.X = CosOuterCone; data->SpotAngles.Y = InvCosConeDifference; @@ -73,7 +73,7 @@ void RenderSpotLightData::SetupLightData(LightData* data, bool useShadow) const data->RadiusInv = 1.0f / Radius; } -void RenderPointLightData::SetupLightData(LightData* data, bool useShadow) const +void RenderPointLightData::SetupLightData(ShaderLightData* data, bool useShadow) const { data->SpotAngles.X = -2.0f; data->SpotAngles.Y = 1.0f; @@ -90,7 +90,7 @@ void RenderPointLightData::SetupLightData(LightData* data, bool useShadow) const data->RadiusInv = 1.0f / Radius; } -void RenderSkyLightData::SetupLightData(LightData* data, bool useShadow) const +void RenderSkyLightData::SetupLightData(ShaderLightData* data, bool useShadow) const { data->SpotAngles.X = AdditiveColor.X; data->SpotAngles.Y = AdditiveColor.Y; diff --git a/Source/Engine/Renderer/RenderList.h b/Source/Engine/Renderer/RenderList.h index 74b4bdf3d..4dabe669d 100644 --- a/Source/Engine/Renderer/RenderList.h +++ b/Source/Engine/Renderer/RenderList.h @@ -61,7 +61,7 @@ struct RenderDirectionalLightData : RenderLightData float Cascade3Spacing; float Cascade4Spacing; - void SetupLightData(LightData* data, bool useShadow) const; + void SetupLightData(ShaderLightData* data, bool useShadow) const; }; struct RenderSpotLightData : RenderLightData @@ -79,7 +79,7 @@ struct RenderSpotLightData : RenderLightData GPUTexture* IESTexture; - void SetupLightData(LightData* data, bool useShadow) const; + void SetupLightData(ShaderLightData* data, bool useShadow) const; }; struct RenderPointLightData : RenderLightData @@ -93,7 +93,7 @@ struct RenderPointLightData : RenderLightData GPUTexture* IESTexture; - void SetupLightData(LightData* data, bool useShadow) const; + void SetupLightData(ShaderLightData* data, bool useShadow) const; }; struct RenderSkyLightData : RenderLightData @@ -103,7 +103,7 @@ struct RenderSkyLightData : RenderLightData CubeTexture* Image; - void SetupLightData(LightData* data, bool useShadow) const; + void SetupLightData(ShaderLightData* data, bool useShadow) const; }; /// diff --git a/Source/Engine/Renderer/ScreenSpaceReflectionsPass.cpp b/Source/Engine/Renderer/ScreenSpaceReflectionsPass.cpp index 39efc70dd..b3d0ea6ba 100644 --- a/Source/Engine/Renderer/ScreenSpaceReflectionsPass.cpp +++ b/Source/Engine/Renderer/ScreenSpaceReflectionsPass.cpp @@ -27,7 +27,7 @@ PACK_STRUCT(struct Data { - GBufferData GBuffer; + ShaderGBufferData GBuffer; float MaxColorMiplevel; float TraceSizeMax; diff --git a/Source/Engine/Renderer/ShadowsPass.cpp b/Source/Engine/Renderer/ShadowsPass.cpp index 99246bcce..e7da47363 100644 --- a/Source/Engine/Renderer/ShadowsPass.cpp +++ b/Source/Engine/Renderer/ShadowsPass.cpp @@ -19,9 +19,9 @@ #define PointLight_NearPlane 10.0f PACK_STRUCT(struct Data{ - GBufferData GBuffer; - LightData Light; - LightShadowData LightShadow; + ShaderGBufferData GBuffer; + ShaderLightData Light; + ShaderLightShadowData LightShadow; Matrix WVP; Matrix ViewProjectionMatrix; Float2 Dummy0; diff --git a/Source/Engine/Renderer/ShadowsPass.h b/Source/Engine/Renderer/ShadowsPass.h index e67abd184..fd96900ca 100644 --- a/Source/Engine/Renderer/ShadowsPass.h +++ b/Source/Engine/Renderer/ShadowsPass.h @@ -47,7 +47,7 @@ private: int32 ContextIndex; int32 ContextCount; bool BlendCSM; - LightShadowData Constants; + ShaderLightShadowData Constants; }; // Shader stuff @@ -91,7 +91,7 @@ public: // TODO: use full scene shadow map atlas with dynamic slots allocation int32 LastDirLightIndex = -1; GPUTextureView* LastDirLightShadowMap = nullptr; - LightShadowData LastDirLight; + ShaderLightShadowData LastDirLight; public: void Prepare(); diff --git a/Source/Engine/Renderer/VolumetricFogPass.cpp b/Source/Engine/Renderer/VolumetricFogPass.cpp index d94bd503b..0e1b10747 100644 --- a/Source/Engine/Renderer/VolumetricFogPass.cpp +++ b/Source/Engine/Renderer/VolumetricFogPass.cpp @@ -263,7 +263,7 @@ GPUTextureView* VolumetricFogPass::GetLocalShadowedLightScattering(RenderContext } template -void VolumetricFogPass::RenderRadialLight(RenderContext& renderContext, GPUContext* context, T& light, LightShadowData& shadow) +void VolumetricFogPass::RenderRadialLight(RenderContext& renderContext, GPUContext* context, T& light, ShaderLightShadowData& shadow) { // Prepare VolumetricFogOptions options; @@ -387,7 +387,7 @@ void VolumetricFogPass::RenderRadialLight(RenderContext& renderContext, GPUConte } } -void VolumetricFogPass::RenderLight(RenderContext& renderContext, GPUContext* context, RenderPointLightData& light, GPUTextureView* shadowMap, LightShadowData& shadow) +void VolumetricFogPass::RenderLight(RenderContext& renderContext, GPUContext* context, RenderPointLightData& light, GPUTextureView* shadowMap, ShaderLightShadowData& shadow) { // Skip lights with no volumetric light influence or not casting volumetric shadow if (light.VolumetricScatteringIntensity <= ZeroTolerance || !light.CastVolumetricShadow) @@ -401,7 +401,7 @@ void VolumetricFogPass::RenderLight(RenderContext& renderContext, GPUContext* co context->UnBindSR(5); } -void VolumetricFogPass::RenderLight(RenderContext& renderContext, GPUContext* context, RenderSpotLightData& light, GPUTextureView* shadowMap, LightShadowData& shadow) +void VolumetricFogPass::RenderLight(RenderContext& renderContext, GPUContext* context, RenderSpotLightData& light, GPUTextureView* shadowMap, ShaderLightShadowData& shadow) { // Skip lights with no volumetric light influence or not casting volumetric shadow if (light.VolumetricScatteringIntensity <= ZeroTolerance || !light.CastVolumetricShadow) diff --git a/Source/Engine/Renderer/VolumetricFogPass.h b/Source/Engine/Renderer/VolumetricFogPass.h index 97eb89440..cbec860fc 100644 --- a/Source/Engine/Renderer/VolumetricFogPass.h +++ b/Source/Engine/Renderer/VolumetricFogPass.h @@ -36,7 +36,7 @@ private: }); PACK_STRUCT(struct Data { - GBufferData GBuffer; + ShaderGBufferData GBuffer; Float3 GlobalAlbedo; float GlobalExtinctionScale; @@ -62,8 +62,8 @@ private: Float4 FrameJitterOffsets[8]; - LightData DirectionalLight; - LightShadowData DirectionalLightShadow; + ShaderLightData DirectionalLight; + ShaderLightShadowData DirectionalLightShadow; SkyLightData SkyLight; DynamicDiffuseGlobalIlluminationPass::ConstantsData DDGI; }); @@ -76,8 +76,8 @@ private: Float4 ViewSpaceBoundingSphere; Matrix ViewToVolumeClip; - LightData LocalLight; - LightShadowData LocalLightShadow; + ShaderLightData LocalLight; + ShaderLightShadowData LocalLightShadow; }); // Shader stuff @@ -156,7 +156,7 @@ public: /// The light. /// The shadow map. /// The light shadow data. - void RenderLight(RenderContext& renderContext, GPUContext* context, RenderPointLightData& light, GPUTextureView* shadowMap, LightShadowData& shadow); + void RenderLight(RenderContext& renderContext, GPUContext* context, RenderPointLightData& light, GPUTextureView* shadowMap, ShaderLightShadowData& shadow); /// /// Renders the light to the volumetric fog light scattering volume texture. Called by the light pass after shadow map rendering. Used by the shadows casting lights. @@ -166,7 +166,7 @@ public: /// The light. /// The shadow map. /// The light shadow data. - void RenderLight(RenderContext& renderContext, GPUContext* context, RenderSpotLightData& light, GPUTextureView* shadowMap, LightShadowData& shadow); + void RenderLight(RenderContext& renderContext, GPUContext* context, RenderSpotLightData& light, GPUTextureView* shadowMap, ShaderLightShadowData& shadow); /// /// Renders the volumetric fog (generates integrated light scattering 3D texture). Does nothing if feature is disabled or not supported. @@ -180,7 +180,7 @@ private: GPUTextureView* GetLocalShadowedLightScattering(RenderContext& renderContext, GPUContext* context, VolumetricFogOptions& options) const; void InitCircleBuffer(); template - void RenderRadialLight(RenderContext& renderContext, GPUContext* context, T& light, LightShadowData& shadow); + void RenderRadialLight(RenderContext& renderContext, GPUContext* context, T& light, ShaderLightShadowData& shadow); template void RenderRadialLight(RenderContext& renderContext, GPUContext* context, RenderView& view, VolumetricFogOptions& options, T& light, PerLight& perLight, GPUConstantBuffer* cb1); #if COMPILE_WITH_DEV_ENV