Adjustments

This commit is contained in:
Wojciech Figat
2022-04-12 14:27:06 +02:00
parent 74b95a6ebb
commit 0a27d277a0
6 changed files with 22 additions and 22 deletions

View File

@@ -50,7 +50,7 @@ void ForwardShadingFeature::Bind(MaterialShader::BindParameters& params, Span<by
{
context->UnBindSR(dirLightShaderRegisterIndex);
}
dirLight.SetupLightData(&data.DirectionalLight, view, useShadow);
dirLight.SetupLightData(&data.DirectionalLight, useShadow);
}
else
{
@@ -63,7 +63,7 @@ void ForwardShadingFeature::Bind(MaterialShader::BindParameters& params, Span<by
if (cache->SkyLights.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, Span<by
const auto& light = cache->PointLights[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, Span<by
const auto& light = cache->SpotLights[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++;
}
}

View File

@@ -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

View File

@@ -41,7 +41,7 @@ namespace
Array<MemPoolEntry> 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;

View File

@@ -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;
};
/// <summary>

View File

@@ -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);

View File

@@ -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)
{