Fixes for SSAO and SSR

This commit is contained in:
Wojtek Figat
2026-01-20 18:19:34 +01:00
parent 0c5cb59875
commit cc5e4c19e1
9 changed files with 43 additions and 38 deletions

View File

@@ -704,6 +704,12 @@ float RenderTools::GetDepthBounds(const RenderView& view, const Float3& point, b
return Math::Clamp(depth, 0.0f, 1.0f);
}
float RenderTools::GetDepthBounds(const RenderView& view, float viewDistance, bool near)
{
Float3 point = view.Position + view.Direction * (viewDistance * 2.0f);
return GetDepthBounds(view, point, near);
}
Float3 RenderTools::GetColorQuantizationError(PixelFormat format)
{
Float3 mantissaBits;

View File

@@ -155,6 +155,7 @@ public:
static Float2 GetDepthBounds(const RenderView& view, const BoundingBox& bounds);
static Float2 GetDepthBounds(const RenderView& view, const OrientedBoundingBox& bounds);
static float GetDepthBounds(const RenderView& view, const Float3& point, bool near);
static float GetDepthBounds(const RenderView& view, float viewDistance, bool near);
static constexpr float DepthBoundMaxBackground = 1.0f - 0.0000001f; // Skip background/sky pixels from shading
// Calculates error for a given render target format to reduce floating-point precision artifacts via QuantizeColor (from Noise.hlsl).