3D floors from UDMF attributes

Remember, just because you request it, that doesn't mean you'll get it.

Moderator: GZDoom Developers

User avatar
RockstarRaccoon
Posts: 598
Joined: Sun Jul 31, 2016 2:43 pm

3D floors from UDMF attributes

Post by RockstarRaccoon »

After a conversation on the Discord chat, I would like to request of the ability to create 3D floors without a dummy sector or line special using pure UDMF attributes. This would make it easier to build maps with detailed 3D floors, especially slanted rooftops in large, open areas, which have to be aligned over a large distance. It might also be easier to optimize, and a bit cleaner, because it would be a native part of the sector instead of something applied to it by dummy sectors and tags. The drawback of this would probably be that you wouldn't be able to script it, but that's fine.

The format we were discussing would involve defining the top, side, and bottom textures, and the slope/height based on an absolute center point, possibly with the option to sync the dlope with the ceiling. Another possible format would be to define 3D floors as a separate UDMF item, and somehow linked them back into the sector, which might be a little more difficult to work with, but would definitely be easier to optimize because they would all have the same visplanes.

I don't know exactly how to implement this, but maybe someone who has worked with the 3D floor system would have a quick idea...
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49056
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: 3D floors from UDMF attributes

Post by Graf Zahl »

The entire 3D floor setup depends on a sector being present to serve as a model. So this cannot possibly work, unless it just created a sector on the fly. But that would cause problems with the nodes because they wouldn't contain all of the map.
User avatar
RockstarRaccoon
Posts: 598
Joined: Sun Jul 31, 2016 2:43 pm

Re: 3D floors from UDMF attributes

Post by RockstarRaccoon »

Interesting.
And said model couldn't be built at load time, rather than setting up from a pre-made dummy sector? And does the nodebuilder really need to understand a 3D floor sector? Because they aren't exactly meant to be seen...

As I said, it's the Boom source code I'm most familiar with, so I don't fully understand how 3D floors are implemented...
Last edited by RockstarRaccoon on Tue May 22, 2018 3:35 pm, edited 1 time in total.
User avatar
Rachael
Posts: 13531
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her
Contact:

Re: 3D floors from UDMF attributes

Post by Rachael »

I think it would be possible to do it without a dummy sector, just all the references would have to be redone to take both arbitrary models as well as the dummy sector model. And that would be a lot of work.
User avatar
RockstarRaccoon
Posts: 598
Joined: Sun Jul 31, 2016 2:43 pm

Re: 3D floors from UDMF attributes

Post by RockstarRaccoon »

Rachael wrote:I think it would be possible to do it without a dummy sector, just all the references would have to be redone to take both arbitrary models as well as the dummy sector model. And that would be a lot of work.
Wouldn't that be a good opportunity to optimize the current implementation somehow then? It was a quality-of-life feature, so I'm ok if you guys want to put it "[on hold]"...
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49056
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: 3D floors from UDMF attributes

Post by Graf Zahl »

RockstarRaccoon wrote: Wouldn't that be a good opportunity to optimize the current implementation somehow then? It was a quality-of-life feature, so I'm ok if you guys want to put it "[on hold]"...
Having two different setups would rather deoptimize it. There's tons of dependencies on the model sector - not only in the maintenance code but also in the render setup. The 3D floor descriptor keeps several references to data structures in the sector - in fact it keeps references to nearly everything important in the sector. So at best you end up with a new data structure that's essentially half the size of a sector.
Post Reply

Return to “Feature Suggestions [GZDoom]”