mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-11 23:32:02 +00:00
- fixed: Before rendering a sector stack portal the clipper needs to be completely filled, if the view point's subsector is not inside the portal. If this is not done, some setups where a recursive look into the originating area is possible may exhibit some issues.
This commit is contained in:
parent
35666f1e09
commit
d405cf5b7c
1 changed files with 9 additions and 0 deletions
|
@ -756,6 +756,15 @@ void GLSectorStackPortal::DrawContents()
|
||||||
SaveMapSection();
|
SaveMapSection();
|
||||||
SetupCoverage();
|
SetupCoverage();
|
||||||
ClearClipper();
|
ClearClipper();
|
||||||
|
|
||||||
|
// If the viewpoint is not within the portal, we need to invalidate the entire clip area.
|
||||||
|
// The portal will re-validate the necessary parts when its subsectors get traversed.
|
||||||
|
subsector_t *sub = R_PointInSubsector(ViewPos);
|
||||||
|
if (!(gl_drawinfo->ss_renderflags[sub - ::subsectors] & SSRF_SEEN))
|
||||||
|
{
|
||||||
|
clipper.SafeAddClipRange(0, ANGLE_MAX);
|
||||||
|
}
|
||||||
|
|
||||||
GLRenderer->DrawScene(DM_PORTAL);
|
GLRenderer->DrawScene(DM_PORTAL);
|
||||||
RestoreMapSection();
|
RestoreMapSection();
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue