Fix quad overdraw debug drawing regression

This commit is contained in:
Wojtek Figat
2025-10-07 18:08:32 +02:00
parent 361fc3ecfb
commit d3c54e590a

View File

@@ -60,11 +60,12 @@ void QuadOverdrawPass::Render(RenderContext& renderContext, GPUContext* context,
if (boxModel && boxModel->CanBeRendered() && defaultMaterial && defaultMaterial->IsReady())
{
// Draw decals
for (int32 i = 0; i < renderContext.List->Decals.Count(); i++)
PROFILE_GPU_CPU_NAMED("Decals");
for (const RenderDecalData& decal : renderContext.List->Decals)
{
const RenderDecalData& decal = renderContext.List->Decals.Get()[i];
drawCall.World = decal.World;
defaultMaterial->Bind(bindParams);
bindParams.BindDrawData();
boxModel->Render(context);
}
}
@@ -74,6 +75,7 @@ void QuadOverdrawPass::Render(RenderContext& renderContext, GPUContext* context,
if (renderContext.List->Sky && skyModel && skyModel->CanBeRendered() && skyMaterial && skyMaterial->IsReady())
{
// Draw sky
PROFILE_GPU_CPU_NAMED("Sky");
auto box = skyModel->GetBox();
Matrix m1, m2;
Matrix::Scaling(renderContext.View.Far / ((float)box.GetSize().Y * 0.5f) * 0.95f, m1);
@@ -81,6 +83,7 @@ void QuadOverdrawPass::Render(RenderContext& renderContext, GPUContext* context,
m1 *= m2;
drawCall.World = m1;
drawCall.ObjectPosition = drawCall.World.GetTranslation();
bindParams.BindDrawData();
skyMaterial->Bind(bindParams);
skyModel->Render(context);
}