fix #451: stabilize portal seam rendering
This commit is contained in:
parent
f6fe0f2a4f
commit
1d2f2f738f
29 changed files with 1650 additions and 239 deletions
|
|
@ -43,6 +43,21 @@ internal readonly record struct WorldRootFrame(
|
|||
bool PlayerIndoorGate)
|
||||
{
|
||||
public bool RenderSky => ViewerRoot is null || RootSeenOutside;
|
||||
|
||||
/// <summary>
|
||||
/// The camera has an EnvCell root whose authored visibility does not reach
|
||||
/// outdoors. SeenOutside cells are open-air presentation cells, not an
|
||||
/// indoor environment gate merely because they have portal geometry.
|
||||
/// </summary>
|
||||
public bool CameraInsideEnclosedCell => CameraInsideCell && !RootSeenOutside;
|
||||
|
||||
/// <summary>Environment gate shared by directional shadows and other
|
||||
/// outdoor-only render-pack effects.</summary>
|
||||
public bool PlayerOrCameraInsideEnclosedCell =>
|
||||
PlayerInsideCell || CameraInsideEnclosedCell;
|
||||
|
||||
public bool IsAtmosphericallyOutdoor =>
|
||||
RenderSky && !CameraInsideEnclosedCell;
|
||||
}
|
||||
|
||||
/// <summary>Borrowed building scratch, valid only until the next build.</summary>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue