The pipeline class owns the portal_stencil shader + a dynamic VBO/VAO for per-frame portal triangle uploads. MarkAndPunch runs WB's two-step stencil setup (mark portals = 1, then write gl_FragDepth=1.0 into stencil=1 regions). EnableOutdoorPass switches to read-only stencil for the subsequent terrain + outdoor-entity passes. PortalMeshBuilder.BuildTriangles is the pure-math triangle-fan extractor — unit-testable without a GL context. Only exit portals (OtherCellId == 0xFFFF) are emitted; inner portals are skipped to prevent outdoor geometry from bleeding into adjacent rooms. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| CameraControllerTests.cs | ||
| CellVisibilityPortalPolygonsTests.cs | ||
| IndoorCellStencilPipelineTests.cs | ||
| RetailChaseCameraTests.cs | ||