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
621 stars 100 forks source link

Rendering error in OpenGL with landscapes that are set to “normal” transfer mode #484

Open aaronfreed opened 2 months ago

aaronfreed commented 2 months ago

A case could be made that this should never happen, so who cares. I counter with “All Roads Lead to Sol…”

image

This is what the same area looks like in software mode.

image

Which is almost impossible to notice and at least an order of magnitude less egregious. This may be undefined behaviour, but I posit that it should nonetheless be fixed to avoid breaking people’s immersion.

(There are also ceilings like this in “Come and Take Your Medicine” and “Son of Grendel”, but they’re much smaller and thus much harder to notice. Also, I think this happens with literally any transfer mode except “landscape”.)

treellama commented 2 months ago

You need to enable NPOT textures in order to render landscapes as normal, since the built-in landscapes are NPOT

aaronfreed commented 2 months ago

That makes sense. Is there any reason not to have that as a default option now? How many modern computers/GPUs are incompatible with NPOT textures, and if there are a significant amount, is this something Aleph One would be able to auto-detect the first time it loads? I assume replicating the software mode behavior with NPOT textures off would be extremely challenging.

(I wouldn't say the behavior with NPOT enabled is precisely "as normal", but it's at least much less annoying and in fact looks much better than the vanilla behavior.)