Files
WoWee/include/rendering
Kelsi b884f91d5d fix(wmo): walk the portal graph from the camera, not the character
Inside Ironforge the interior emptied out at doorways and hallways.

Portal culling used two different positions. The gate that decides whether to
cull at all tested the camera's containing group; the traversal that decides
which groups survive started from the character's. Each had a reason written
down, and each reason was sound on its own — but between them they left a case
neither covers: camera in one interior group, character in another. The walk
then asks which rooms are reachable from one place while judging the doors by
what is visible from another.

That is not an edge case. It is every doorway and every hallway, which is where
this was reported.

Ironforge shows it worst because of what saves everywhere else. Exterior groups
are seeded into the visible set unconditionally, so in a city WMO the streets
and facades stay drawn however the traversal goes. Ironforge is interior
throughout, that seed contributes almost nothing, and the whole result rests on
the walk.

A portal traversal is a visibility query from the camera, since the frustum it
tests against is the camera's, so it now starts there. The character position
was introduced to stop an orbiting third-person camera culling a building's
interior; the gate above it declines to portal-cull at all when the camera is
not in an interior group, which covers that case, so the workaround has outlived
its cause. The parameter that carried it is gone rather than left accepting a
value nothing reads.
2026-07-31 22:10:19 -07:00
..