ZDoom needs a way to fake 'real' 3-d objects. Even if you can only have
one floating object per sector, that is better than none. I figure that there
could be two ways of doing it.
1. A special that does the opposite of transfer_heights. It would take the
sector being transferred and make it's empty space into a solid object in
the other sector. The details for underneath the floating sector would be
copied from the transfer_heights sector. That way it could appear darker
under brides, etc.
2. A way to specify a top and bottom for polyobjects. This would be
especially cool because you could move the floating areas. You could also
specify any size for the floating area (not just an outline of the sector)
There would have to be additional commands such as poly_move_z. It
seems the best way would be through ACS, because you could specify
the flats to be used.
I hate sprite bridges, they're too generic.
Faking "real" 3-D
Moderator: GZDoom Developers
-
- Posts: 7656
- Joined: Sat Aug 07, 2004 5:14 am
- Location: Some cold place
-
- Posts: 863
- Joined: Sun Aug 29, 2004 6:15 am
- Location: Sydney, Australia
This is somewhere between "Timeline," "RTFWTM" and "No shit, Sherlock."
We've all had great theories as to feature suggestions regarding 3D floors, but the fundamental difficulty lies in ZDoom height or z-clipping. (Feel free to correct me, Graf/Randy). Until that is resolved, forget about 3D floors, no matter how "fake" they might be.
Best thing to do now is wait until Randy decides what he wants to do.
We've all had great theories as to feature suggestions regarding 3D floors, but the fundamental difficulty lies in ZDoom height or z-clipping. (Feel free to correct me, Graf/Randy). Until that is resolved, forget about 3D floors, no matter how "fake" they might be.
Best thing to do now is wait until Randy decides what he wants to do.
-
- Posts: 71
- Joined: Sat Apr 16, 2005 3:50 am
- Location: Tasmania
Re: Faking "real" 3-D
You just described how EDGE does real extra-floors. There's nothing fake about it. Extrafloors require heaps of code to be changed: object movement, sight checking, aiming and bullet hitscan. IOW, a huge amount of work.justin024 wrote:1. A special that does the opposite of transfer_heights. It would take the sector being transferred and make it's empty space into a solid object in the other sector. The details for underneath the floating sector would be copied from the transfer_heights sector. That way it could appear darker under brides, etc.
-
- Lead GZDoom+Raze Developer
- Posts: 49188
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: Faking "real" 3-D
Ajapted wrote: You just described how EDGE does real extra-floors. There's nothing fake about it. Extrafloors require heaps of code to be changed: object movement, sight checking, aiming and bullet hitscan. IOW, a huge amount of work.
It isn't really that bad. If that shitty rendering issues weren't there the rest of this stuff is rather isolated and not that hard to change.
Some time ago I messed around with PrBoom's GL renderer and one of the things I did was adding Legacy's 3D floors and currently I am working to upgrade that to support most of ZDoom's features.
I already have fully working versions of the hitscan trace code and 95% working versions of the aiming and sight checking code (the 5% that don't work would have been more work than the rest and IMO aren't worth the hassle for the vast majority of maps.) so if Randy ever decided to implement 3D floors he can have it. The movement code is another matter. I depends how precise you want to be. So far all I tried was to port Legacy's implementation. It certainly isn't perfect but I haven't encountered any problems so far. Maybe in extreme cases there are some.
Now, if it wasn't for that goddamn software renderer it would almost be perfect. Although, combining slopes and 3D floors is not a trivial task as well - even with hardware rendering. The way in which the geometry can intersect is much more complex in such a case.
-
- Posts: 379
- Joined: Sun Nov 14, 2004 1:29 am
- Location: Illinois
Correct me if I am wrong, but if you have to specify a floating object through a line/thing special, you are not using a fully 3-d engine. What I call "real" 3-d didn't come around until quake. If you can't draw a 3-d box floating in space wherever you want, you aren't using 3-d. If edge can do the exact thing I described, then it can be done.
Edit: I just checked out that stacked sectors wad and I had no idea those objects even existed because deep doesn't recognize them. This is still only half of what I have in mind, but I will try to do something with it for now
Another Edit: At least this allows me to create what looks like the outside of higher sectors when looking from a lower sector with a sky. There is one good use at least!
Edit: I just checked out that stacked sectors wad and I had no idea those objects even existed because deep doesn't recognize them. This is still only half of what I have in mind, but I will try to do something with it for now
Another Edit: At least this allows me to create what looks like the outside of higher sectors when looking from a lower sector with a sky. There is one good use at least!
-
- Posts: 148
- Joined: Mon Aug 16, 2004 2:49 pm
I checked it too, I was under the impression that you had to have opaque flats between each sector since those are the only ones I ever see used. How come translucent flats aren't more popular? Also, with that in mind, aren't "waxed floors" a possibility?justin024 wrote:Edit: I just checked out that stacked sectors wad and I had no idea those objects even existed because deep doesn't recognize them. This is still only half of what I have in mind, but I will try to do something with it for now
-
- Posts: 71
- Joined: Sat Apr 16, 2005 3:50 am
- Location: Tasmania
When I say "fake" I mean those 3D bridges which support you by invisible pillars, they don't allow objects to be above and below the bridge at the same time, and they don't draw the surface of the bridge.justin024 wrote:Correct me if I am wrong, but if you have to specify a floating object through a line/thing special, you are not using a fully 3-d engine. What I call "real" 3-d didn't come around until quake.
Or the fake deep water effect that uses self-referencing linedefs - if your head goes below the surface, then the surface disappears.
Compared to these tricks, EDGE's extrafloors and liquids are real, but they are second-class citizens in the map format, since the format was never designed with them in mind.