Faking "real" 3-D

Moderator: GZDoom Developers

Post Reply
User avatar
justin024
Posts: 379
Joined: Sun Nov 14, 2004 1:29 am
Location: Illinois
Contact:

Faking "real" 3-D

Post by justin024 »

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.
User avatar
TheDarkArchon
Posts: 7656
Joined: Sat Aug 07, 2004 5:14 am
Location: Some cold place

Post by TheDarkArchon »

User avatar
Sir_Alien
Posts: 863
Joined: Sun Aug 29, 2004 6:15 am
Location: Sydney, Australia
Contact:

Post by Sir_Alien »

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.
Ajapted
Posts: 71
Joined: Sat Apr 16, 2005 3:50 am
Location: Tasmania

Re: Faking "real" 3-D

Post by Ajapted »

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.
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.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49073
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Faking "real" 3-D

Post by Graf Zahl »

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.
User avatar
justin024
Posts: 379
Joined: Sun Nov 14, 2004 1:29 am
Location: Illinois
Contact:

Post by justin024 »

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!
User avatar
Piezo
Posts: 148
Joined: Mon Aug 16, 2004 2:49 pm
Contact:

Post by Piezo »

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
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?
User avatar
Kirby
Posts: 2697
Joined: Thu Aug 26, 2004 1:23 pm

Post by Kirby »

OMG, READ THE WIKI.

It has an example wad that utilizes a 3d bridges and has a shiny reflective floor -_-
Ajapted
Posts: 71
Joined: Sat Apr 16, 2005 3:50 am
Location: Tasmania

Post by Ajapted »

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.
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.

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.
Post Reply

Return to “Closed Feature Suggestions [GZDoom]”