diff --git a/Source/Engine/Graphics/Materials/MaterialShaderFeatures.cpp b/Source/Engine/Graphics/Materials/MaterialShaderFeatures.cpp index 6b043fbb2..c9f65e3fb 100644 --- a/Source/Engine/Graphics/Materials/MaterialShaderFeatures.cpp +++ b/Source/Engine/Graphics/Materials/MaterialShaderFeatures.cpp @@ -50,7 +50,7 @@ void ForwardShadingFeature::Bind(MaterialShader::BindParameters& params, SpanUnBindSR(dirLightShaderRegisterIndex); } - dirLight.SetupLightData(&data.DirectionalLight, view, useShadow); + dirLight.SetupLightData(&data.DirectionalLight, useShadow); } else { @@ -63,7 +63,7 @@ void ForwardShadingFeature::Bind(MaterialShader::BindParameters& params, SpanSkyLights.HasItems()) { auto& skyLight = cache->SkyLights.First(); - skyLight.SetupLightData(&data.SkyLight, view, false); + skyLight.SetupLightData(&data.SkyLight, false); const auto texture = skyLight.Image ? skyLight.Image->GetTexture() : nullptr; context->BindSR(skyLightShaderRegisterIndex, GET_TEXTURE_VIEW_SAFE(texture)); } @@ -104,7 +104,7 @@ void ForwardShadingFeature::Bind(MaterialShader::BindParameters& params, SpanPointLights[i]; if (BoundingSphere(light.Position, light.Radius).Contains(drawCall.World.GetTranslation()) != ContainmentType::Disjoint) { - light.SetupLightData(&data.LocalLights[data.LocalLightsCount], view, false); + light.SetupLightData(&data.LocalLights[data.LocalLightsCount], false); data.LocalLightsCount++; } } @@ -113,7 +113,7 @@ void ForwardShadingFeature::Bind(MaterialShader::BindParameters& params, SpanSpotLights[i]; if (BoundingSphere(light.Position, light.Radius).Contains(drawCall.World.GetTranslation()) != ContainmentType::Disjoint) { - light.SetupLightData(&data.LocalLights[data.LocalLightsCount], view, false); + light.SetupLightData(&data.LocalLights[data.LocalLightsCount], false); data.LocalLightsCount++; } } diff --git a/Source/Engine/Renderer/LightPass.cpp b/Source/Engine/Renderer/LightPass.cpp index 1e54f1edf..2beeac5d8 100644 --- a/Source/Engine/Renderer/LightPass.cpp +++ b/Source/Engine/Renderer/LightPass.cpp @@ -285,7 +285,7 @@ void LightPass::RenderLight(RenderContext& renderContext, GPUTextureView* lightB context->UnBindSR(5); // Pack light properties buffer - light.SetupLightData(&perLight.Light, view, renderShadow); + light.SetupLightData(&perLight.Light, renderShadow); Matrix::Transpose(wvp, perLight.WVP); if (useIES) { @@ -342,7 +342,7 @@ void LightPass::RenderLight(RenderContext& renderContext, GPUTextureView* lightB context->UnBindSR(5); // Pack light properties buffer - light.SetupLightData(&perLight.Light, view, renderShadow); + light.SetupLightData(&perLight.Light, renderShadow); Matrix::Transpose(wvp, perLight.WVP); if (useIES) { @@ -385,7 +385,7 @@ void LightPass::RenderLight(RenderContext& renderContext, GPUTextureView* lightB context->UnBindSR(5); // Pack light properties buffer - light.SetupLightData(&perLight.Light, view, renderShadow); + light.SetupLightData(&perLight.Light, renderShadow); // Calculate lighting context->UpdateCB(cb0, &perLight); @@ -419,7 +419,7 @@ void LightPass::RenderLight(RenderContext& renderContext, GPUTextureView* lightB Matrix::Multiply(world, view.ViewProjection(), wvp); // Pack light properties buffer - light.SetupLightData(&perLight.Light, view, false); + light.SetupLightData(&perLight.Light, false); Matrix::Transpose(wvp, perLight.WVP); // Bind source image diff --git a/Source/Engine/Renderer/RenderList.cpp b/Source/Engine/Renderer/RenderList.cpp index e5f353770..1f51951af 100644 --- a/Source/Engine/Renderer/RenderList.cpp +++ b/Source/Engine/Renderer/RenderList.cpp @@ -41,7 +41,7 @@ namespace Array MemPool; } -void RendererDirectionalLightData::SetupLightData(LightData* data, const RenderView& view, bool useShadow) const +void RendererDirectionalLightData::SetupLightData(LightData* data, bool useShadow) const { data->SpotAngles.X = -2.0f; data->SpotAngles.Y = 1.0f; @@ -58,7 +58,7 @@ void RendererDirectionalLightData::SetupLightData(LightData* data, const RenderV data->RadiusInv = 0; } -void RendererSpotLightData::SetupLightData(LightData* data, const RenderView& view, bool useShadow) const +void RendererSpotLightData::SetupLightData(LightData* data, bool useShadow) const { data->SpotAngles.X = CosOuterCone; data->SpotAngles.Y = InvCosConeDifference; @@ -75,7 +75,7 @@ void RendererSpotLightData::SetupLightData(LightData* data, const RenderView& vi data->RadiusInv = 1.0f / Radius; } -void RendererPointLightData::SetupLightData(LightData* data, const RenderView& view, bool useShadow) const +void RendererPointLightData::SetupLightData(LightData* data, bool useShadow) const { data->SpotAngles.X = -2.0f; data->SpotAngles.Y = 1.0f; @@ -92,7 +92,7 @@ void RendererPointLightData::SetupLightData(LightData* data, const RenderView& v data->RadiusInv = 1.0f / Radius; } -void RendererSkyLightData::SetupLightData(LightData* data, const RenderView& view, bool useShadow) const +void RendererSkyLightData::SetupLightData(LightData* 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 1a83065ac..c6e2d16af 100644 --- a/Source/Engine/Renderer/RenderList.h +++ b/Source/Engine/Renderer/RenderList.h @@ -42,7 +42,7 @@ struct RendererDirectionalLightData float ContactShadowsLength; ShadowsCastingMode ShadowsMode; - void SetupLightData(LightData* data, const RenderView& view, bool useShadow) const; + void SetupLightData(LightData* data, bool useShadow) const; }; struct RendererSpotLightData @@ -80,7 +80,7 @@ struct RendererSpotLightData GPUTexture* IESTexture; - void SetupLightData(LightData* data, const RenderView& view, bool useShadow) const; + void SetupLightData(LightData* data, bool useShadow) const; }; struct RendererPointLightData @@ -114,7 +114,7 @@ struct RendererPointLightData GPUTexture* IESTexture; - void SetupLightData(LightData* data, const RenderView& view, bool useShadow) const; + void SetupLightData(LightData* data, bool useShadow) const; }; struct RendererSkyLightData @@ -132,7 +132,7 @@ struct RendererSkyLightData CubeTexture* Image; - void SetupLightData(LightData* data, const RenderView& view, bool useShadow) const; + void SetupLightData(LightData* data, bool useShadow) const; }; /// diff --git a/Source/Engine/Renderer/ShadowsPass.cpp b/Source/Engine/Renderer/ShadowsPass.cpp index 05f8659c4..a90708b10 100644 --- a/Source/Engine/Renderer/ShadowsPass.cpp +++ b/Source/Engine/Renderer/ShadowsPass.cpp @@ -325,7 +325,7 @@ void ShadowsPass::RenderShadow(RenderContext& renderContext, RendererPointLightD // Setup shader data GBufferPass::SetInputs(view, sperLight.GBuffer); - light.SetupLightData(&sperLight.Light, view, true); + light.SetupLightData(&sperLight.Light, true); sperLight.LightShadow.ShadowMapSize = shadowMapsSizeCube; sperLight.LightShadow.Sharpness = light.ShadowsSharpness; sperLight.LightShadow.Fade = Math::Saturate(light.ShadowsStrength * fade); @@ -427,7 +427,7 @@ void ShadowsPass::RenderShadow(RenderContext& renderContext, RendererSpotLightDa // Setup shader data GBufferPass::SetInputs(view, sperLight.GBuffer); - light.SetupLightData(&sperLight.Light, view, true); + light.SetupLightData(&sperLight.Light, true); sperLight.LightShadow.ShadowMapSize = shadowMapsSizeCube; sperLight.LightShadow.Sharpness = light.ShadowsSharpness; sperLight.LightShadow.Fade = Math::Saturate(light.ShadowsStrength * fade); @@ -719,7 +719,7 @@ void ShadowsPass::RenderShadow(RenderContext& renderContext, RendererDirectional // Setup shader data GBufferPass::SetInputs(view, sperLight.GBuffer); - light.SetupLightData(&sperLight.Light, view, true); + light.SetupLightData(&sperLight.Light, true); sperLight.LightShadow.ShadowMapSize = shadowMapsSizeCSM; sperLight.LightShadow.Sharpness = light.ShadowsSharpness; sperLight.LightShadow.Fade = Math::Saturate(light.ShadowsStrength); diff --git a/Source/Engine/Renderer/VolumetricFogPass.cpp b/Source/Engine/Renderer/VolumetricFogPass.cpp index 8ebce3600..61b544985 100644 --- a/Source/Engine/Renderer/VolumetricFogPass.cpp +++ b/Source/Engine/Renderer/VolumetricFogPass.cpp @@ -306,7 +306,7 @@ void VolumetricFogPass::RenderRadialLight(RenderContext& renderContext, GPUConte perLight.LocalLightScatteringIntensity = light.VolumetricScatteringIntensity; perLight.ViewSpaceBoundingSphere = Vector4(viewSpaceLightBoundsOrigin, bounds.Radius); Matrix::Transpose(view.Projection, perLight.ViewToVolumeClip); - light.SetupLightData(&perLight.LocalLight, view, true); + light.SetupLightData(&perLight.LocalLight, true); perLight.LocalLightShadow = shadow; // Upload data @@ -365,7 +365,7 @@ void VolumetricFogPass::RenderRadialLight(RenderContext& renderContext, GPUConte perLight.LocalLightScatteringIntensity = light.VolumetricScatteringIntensity; perLight.ViewSpaceBoundingSphere = Vector4(viewSpaceLightBoundsOrigin, bounds.Radius); Matrix::Transpose(renderContext.View.Projection, perLight.ViewToVolumeClip); - light.SetupLightData(&perLight.LocalLight, renderContext.View, withShadow); + light.SetupLightData(&perLight.LocalLight, withShadow); // Upload data context->UpdateCB(cb1, &perLight); @@ -441,7 +441,7 @@ void VolumetricFogPass::Render(RenderContext& renderContext) { const auto shadowPass = ShadowsPass::Instance(); const bool useShadow = dirLight.CastVolumetricShadow && shadowPass->LastDirLightIndex == dirLightIndex; - dirLight.SetupLightData(&_cache.Data.DirectionalLight, view, useShadow); + dirLight.SetupLightData(&_cache.Data.DirectionalLight, useShadow); _cache.Data.DirectionalLight.Color *= brightness; if (useShadow) {