Helion-Engine / Helion

A modern fast paced Doom FPS engine
GNU General Public License v3.0
96 stars 9 forks source link

Vanilla sprite rendering anomalies #584

Closed lemming104 closed 1 month ago

lemming104 commented 1 month ago

I've been playing Helion (currently on 273cddc) with the vanilla sprite rendering mode turned on, and the results mostly look really good. Since I'm running this on a system with a very powerful GPU, I'm not even noticing much of a performance hit. I have noticed a couple of interesting anomalies here and there, though.

Both of these ones are from Doom 2, MAP02:

helion_20240719_11 03 29 2783 helion_20240719_11 14 11 8433

nstlaurent commented 1 month ago

This case is a catch 22 and happens because the sprites are never discarded to the floor/ceiling. The fix would be to discard them to floors and ceilings but then it's back to the way it was before. The barrel is really funny, had no idea there was this stray barrel not really in the map.

The real problem with the barrel appears to be that it's in the ceiling for some reason and it's supposed to render to the floor. An interesting point the software renderer only sometimes renders it like below:

image

lemming104 commented 1 month ago

ID Software really messed up that map in v1.9 in general, with stuff stuck in walls and whatnot.

Overall, the vanilla sprite rendering mode seems to work well; I played through all of Doom E1 and several levels of Eviternity with it on, and it's nice seeing a hardware renderer not clip the tops off the sprites in the "tunnel maze" part of E1M4.

The only other quirk I've noticed so far is that the imps on the ledges at the end of E1M2 get their feet clipped a bit. helion_20240719_06 05 55 4257

nstlaurent commented 1 month ago

The effect only works to floors/ceilings. Sprites are always clipped to walls. It currently isn't possible to emulate the behavior where vanilla would just run sprites over certain walls based on the players view z.

lemming104 commented 1 month ago

I figured it was something like that. Sounds like these quirks are just expected consequences of the approach, other than the floating barrel.