by Rachael » Sun Apr 30, 2017 12:48 pm
This is because of how portal clipping is handled. Unfortunately it's a very complicated issue not really helped by the code being completely helter skelter in this place.
Basically, in the Doom engine, a single wall is infinitely tall no matter how high the adjacent floor is to it. And because of that the BSP engine refuses to render anything behind it because it doesn't make sense to render what you can't see, does it? Except in this case, obviously, you can because you are *under* the wall which does not account for the fact that it is still infinitely tall.
GZDoom handles this more gracefully because it is not only able to clip away anything that is between you and the portal, but it also does not have this problem with walls being infinitely tall.
Even worse is the fact that in ZDoom you can only have 1 sector portal per column due to the way the portal buffer is handled.
So yes, this is a known issue, but there is really no easy fix at this time.
The example wad will definitely come in handy if someone decides to tackle this issue, though.
This is because of how portal clipping is handled. Unfortunately it's a very complicated issue not really helped by the code being completely helter skelter in this place.
Basically, in the Doom engine, a single wall is infinitely tall no matter how high the adjacent floor is to it. And because of that the BSP engine refuses to render anything behind it because it doesn't make sense to render what you can't see, does it? Except in this case, obviously, you can because you are *under* the wall which does not account for the fact that it is still infinitely tall.
GZDoom handles this more gracefully because it is not only able to clip away anything that is between you and the portal, but it also does not have this problem with walls being infinitely tall.
Even worse is the fact that in ZDoom you can only have 1 sector portal per column due to the way the portal buffer is handled.
So yes, this is a known issue, but there is really no easy fix at this time.
The example wad will definitely come in handy if someone decides to tackle this issue, though.