Fix line portals drawn as opaque

This commit is contained in:
Magnus Norddahl 2024-08-30 21:58:13 +02:00
commit 75dd9e13c9
3 changed files with 10 additions and 2 deletions

View file

@ -62,8 +62,12 @@ ADD_STAT(lightmap)
ADD_STAT(levelmesh)
{
auto& stats = level.levelMesh->LastFrameStats;
FString out;
out.Format("Sides=%d, flats=%d", level.levelMesh->LastFrameStats.SidesUpdated, level.levelMesh->LastFrameStats.FlatsUpdated);
if (level.levelMesh)
out.Format("Sides=%d, flats=%d, portals=%d", stats.SidesUpdated, stats.FlatsUpdated, stats.Portals);
else
out = "No level mesh";
return out;
}
@ -793,7 +797,7 @@ void DoomLevelMesh::CreateWallSurface(side_t* side, HWWallDispatcher& disp, Mesh
Sides[sideIndex].Geometries.Push({ ginfo, pipelineID, sinfo.Surface->IsSky });
Sides[sideIndex].Uniforms.Push(uinfo);
AddToDrawList(Sides[sideIndex].DrawRanges, pipelineID, ginfo.IndexStart, ginfo.IndexCount, sinfo.Surface->IsSky);
AddToDrawList(Sides[sideIndex].DrawRanges, pipelineID, ginfo.IndexStart, ginfo.IndexCount, isPortal);
}
}

View file

@ -121,6 +121,7 @@ public:
{
int FlatsUpdated = 0;
int SidesUpdated = 0;
int Portals = 0;
};
Stats LastFrameStats, CurFrameStats;

View file

@ -513,6 +513,9 @@ void HWDrawInfo::CreateScene(bool drawpsprites, FRenderState& state)
}
else
{
if (gl_levelmesh && level.levelMesh)
level.levelMesh->CurFrameStats.Portals++;
RenderBSP(Level->HeadNode(), drawpsprites, state);
}