mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-14 08:31:23 +00:00
- portal check is overridden by a different inverted check in the software renderer
This commit is contained in:
parent
af9757abaf
commit
22422635a0
2 changed files with 4 additions and 4 deletions
|
@ -164,7 +164,7 @@ void PolyCull::CullSubsector(subsector_t *sub)
|
||||||
angle_t angle2 = PointToPseudoAngle(line->v1->fX(), line->v1->fY());
|
angle_t angle2 = PointToPseudoAngle(line->v1->fX(), line->v1->fY());
|
||||||
angle_t angle1 = PointToPseudoAngle(line->v2->fX(), line->v2->fY());
|
angle_t angle1 = PointToPseudoAngle(line->v2->fX(), line->v2->fY());
|
||||||
bool lineVisible = !IsSegmentCulled(angle1, angle2);
|
bool lineVisible = !IsSegmentCulled(angle1, angle2);
|
||||||
if (lineVisible && IsBackSectorSolid(line))
|
if (lineVisible && IsSolidLine(line))
|
||||||
{
|
{
|
||||||
MarkSegmentCulled(angle1, angle2);
|
MarkSegmentCulled(angle1, angle2);
|
||||||
}
|
}
|
||||||
|
@ -182,13 +182,13 @@ void PolyCull::CullSubsector(subsector_t *sub)
|
||||||
SubsectorDepths[sub->Index()] = subsectorDepth;
|
SubsectorDepths[sub->Index()] = subsectorDepth;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool PolyCull::IsBackSectorSolid(seg_t *line)
|
bool PolyCull::IsSolidLine(seg_t *line)
|
||||||
{
|
{
|
||||||
// One-sided
|
// One-sided
|
||||||
if (!line->backsector) return true;
|
if (!line->backsector) return true;
|
||||||
|
|
||||||
// Portal
|
// Portal
|
||||||
if (line->linedef->isVisualPortal() && line->sidedef == line->linedef->sidedef[0]) return false;
|
if (line->linedef->isVisualPortal() && line->sidedef == line->linedef->sidedef[0]) return true;
|
||||||
|
|
||||||
double frontCeilingZ1 = line->frontsector->ceilingplane.ZatPoint(line->v1);
|
double frontCeilingZ1 = line->frontsector->ceilingplane.ZatPoint(line->v1);
|
||||||
double frontFloorZ1 = line->frontsector->floorplane.ZatPoint(line->v1);
|
double frontFloorZ1 = line->frontsector->floorplane.ZatPoint(line->v1);
|
||||||
|
|
|
@ -56,7 +56,7 @@ private:
|
||||||
void MarkViewFrustum();
|
void MarkViewFrustum();
|
||||||
void InvertSegments();
|
void InvertSegments();
|
||||||
|
|
||||||
static bool IsBackSectorSolid(seg_t *line);
|
static bool IsSolidLine(seg_t *line);
|
||||||
|
|
||||||
bool IsSegmentCulled(angle_t angle1, angle_t angle2) const;
|
bool IsSegmentCulled(angle_t angle1, angle_t angle2) const;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue