Aleph-One-Marathon / alephone

Aleph One is the open source continuation of Bungie’s Marathon 2 game engine.
https://alephone.lhowon.org/
GNU General Public License v3.0
644 stars 100 forks source link

Node object visibility regression #472

Open TrajansRow opened 6 months ago

TrajansRow commented 6 months ago

I have not yet identified the cause for this, but I'm seeing a few issues with object visibility in 1.7.1 that did not exist in 1.6.2. In some cases, objects that should be hidden are visible. In other cases, objects are invisible that should not be. See attached screenshots. AlephOne_1 6vs1 7_Objects

LidMop commented 6 months ago

I haven't looked at Blauwe Vingers yet, but the Trams example (including an unshown but more egregiously glitching rocket launcher on the catwalk to the left of the screenshot) is similar to the first example in #198: the "draw each sprite after the last-drawn polygon they cross into (usually)" algorithm is fundamentally insufficient. I'm still looking into overhauling it.

The Trams glitch is incidentally only uncovered by 43283f6 while using the HD Weapons plugin. The combination results in a much, much longer right-extent on the rocket launcher that runs into a polygon that happens to get drawn after the brown wall.

LidMop commented 6 months ago

Latest 2 commits should jointly fix the Blauwe Vingers model rendering regression since 43283f6 / 8463db8 but doesn't fix the longstanding issue of objects (e.g. the church) disappearing due to their origin polygon not being visible. I do want to fix that but I'm not settled yet on how.