The rendering of polyobject flats is not the issue. If it has a defined shape that's a simple matter.
Where things get tricky is the game physics. Doom's entire actor movement code is so poorly done that it'd get in the way of doing it right. It for sure cannot ever work properly with the current 2D checking of actor movement and handling the z component as an afterthought - even when using different code here to compensate, the problems will come back if an actor on a 3D polyobject moves and happens to have been rotated into a position where it overlaps with some geometry.
Polyobject Flat Rendering
Moderator: GZDoom Developers
-
- Lead GZDoom+Raze Developer
- Posts: 49115
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
-
- Posts: 28
- Joined: Tue Mar 13, 2018 8:04 pm
Re: Polyobject Flat Rendering
I see, thanks for the insight!
Didn't mean to come across as pestering, so if I did, I apologize.
Didn't mean to come across as pestering, so if I did, I apologize.
-
- Posts: 10
- Joined: Thu Jun 09, 2016 7:48 pm
- Location: Ohio
Re: Polyobject Flat Rendering
The SRB2 devs simply accepted that limitation. They (and modders) only use polyobjects such that they never leave the sector they spawn in. (I'm pretty sure the primary reason for this was that they couldn't figure out how to render polyobjects correctly in software mode once they left the sector. I haven't checked for myself, but I'm told movement on the polyobject still works correctly after crossing the sector boundary in SRB2.) They still manage to use them as horizontal platforms and hazards, rotating platforms, and plenty of other things that follow a predefined path. So while I absolutely agree that the ideal solution is complicated as you've described, Graf, there's still tons you can do with them given a less elegant implementation.
In any case, it would be nice to render polyobject flats at all, even if players can't move above or below them. I could have used that in a couple spots while developing Snap
In any case, it would be nice to render polyobject flats at all, even if players can't move above or below them. I could have used that in a couple spots while developing Snap