XY billboarding and static objects

Discuss anything ZDoom-related that doesn't fall into one of the other categories.
User avatar
Matt
Posts: 9696
Joined: Sun Jan 04, 2004 5:37 pm
Preferred Pronouns: They/Them
Operating System Version (Optional): Debian Bullseye
Location: Gotham City SAR, Wyld-Lands of the Lotus People, Dominionist PetroConfederacy of Saudi Canadia

XY billboarding and static objects

Post by Matt »

1. Turn on XY billboarding for all sprites.
2. Walk right up to a torch.
3. Look down.

Expected: the torch is still perpendicular to your view (but definitely not perpendicular to the ground), but animates as normal.

Actual: the above, but it throbs.

I'm not reporting this as a bug because I can only assume it's something that can't be fixed, but what even causes this?

(Relatedly, a similar throb/twitch happens even in vanilla if you have a looping animation where the image dimensions of the frames are not the same throughout. Is this an unavoidable engine thing or a Doom rendering quirk/bug?)
Professor Hastig
Posts: 150
Joined: Mon Jan 09, 2023 2:02 am
Graphics Processor: nVidia (Modern GZDoom)

Re: XY billboarding and static objects

Post by Professor Hastig »

XY billboarding appears to rotate around the sprite's center. If the sprites have a bottom-center offset this will mean that the pivot point changes depending on the actual sprite size.

If you ask me, the entire feature is only useful for projectile sprites where the sprite origin is in the center, but the current settings won't allow this restriction.
User avatar
Nash
 
 
Posts: 17386
Joined: Mon Oct 27, 2003 12:07 am
Location: Kuala Lumpur, Malaysia

Re: XY billboarding and static objects

Post by Nash »

I think the user's "sprite clipping" setting further permutates the behavior. It's very unpredictable.
User avatar
Matt
Posts: 9696
Joined: Sun Jan 04, 2004 5:37 pm
Preferred Pronouns: They/Them
Operating System Version (Optional): Debian Bullseye
Location: Gotham City SAR, Wyld-Lands of the Lotus People, Dominionist PetroConfederacy of Saudi Canadia

Re: XY billboarding and static objects

Post by Matt »

Thanks for the explanation!

I generally set everything to XY just because monsters and pickups and projectiles - i.e., all the stuff i typically actually interact with - look so bad up close (or disappear entirely when they're right above or under you) [EDIT: in Y billboarding] and compared to that this is a very minor visual annoyance that can be solved with mods anyway.

I've messed with the sprite clipping setting and it makes surprisingly little difference for better or for worse.
Last edited by Matt on Sat Feb 18, 2023 12:59 am, edited 1 time in total.
User avatar
KynikossDragonn
Posts: 272
Joined: Sat Dec 12, 2020 10:59 am
Preferred Pronouns: He/Him
Operating System Version (Optional): Void Linux
Graphics Processor: Intel (Modern GZDoom)
Location: Independence, KS, USA

Re: XY billboarding and static objects

Post by KynikossDragonn »

I turn the "Adjust sprite clipping" completely off for this very reason. Yes, it does make certain stuff sink into the ground, but unless someone has a crazy hairbrained idea to make GZDoom render sprites through certain floor depths like the vanilla rendering engine does, I'd rather just keep this thing off entirely to avoid the "bobbing" problem.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 48833
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: XY billboarding and static objects

Post by Graf Zahl »

Matt wrote: Sat Feb 18, 2023 12:00 am I generally set everything to XY just because monsters and pickups and projectiles - i.e., all the stuff i typically actually interact with - look so bad up close (or disappear entirely when they're right above or under you) and compared to that this is a very minor visual annoyance that can be solved with mods anyway.

I never use XY billboarding because in the context of Doom it flat out sucks and creates far too many problems. It is one of those features I'd remove in an instant if I could because it is impossible to make it work right. The entire sprite renderer is an epic disaster because far too many people have injected their ideology without ever thinking about the bigger picture.

As a result it's all in a state where really useful things like properly working wall and floor sprites are simply not possible.

Return to “General”