Doom Marine
Register | User Profile | Member List | F.A.Q | Privacy Policy | New Blog | Search Forums | Forums Home
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Classic Doom > Doom Editing > Doom's Floors
 
Author
All times are GMT. The time now is 14:34. Post New Thread    Post A Reply
HollowedEmpire
Newbie


Posts: 8
Registered: 12-09


I searched around for a bit but I was surprised I didn't find anything on this... (And hopefully this is a good place to post this...)

Doom's floors. I know how they are made the original way with the visplanes and all, but what I want to know is how someone could go about forming polygonal meshes for the floors/ceilings.

From what I've been finding, is it seems you can use the points from the subsectors to form them. Is that right? But what is this about implicit edges? I'm just a tiny bit confused at which lines they actually are. I just need a quick rundown I guess.

Thanks in advance!

Old Post 03-31-10 17:17 #
HollowedEmpire is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
Quasar
Moderator


Posts: 4613
Registered: 08-00



HollowedEmpire said:
I searched around for a bit but I was surprised I didn't find anything on this... (And hopefully this is a good place to post this...)

Doom's floors. I know how they are made the original way with the visplanes and all, but what I want to know is how someone could go about forming polygonal meshes for the floors/ceilings.

From what I've been finding, is it seems you can use the points from the subsectors to form them. Is that right? But what is this about implicit edges? I'm just a tiny bit confused at which lines they actually are. I just need a quick rundown I guess.

Thanks in advance!


Most ports use a precalculated "GL" BSP to facilitate quick determination of these fully closed polygons; however, this shouldn't be strictly necessary, especially for levels with well-formed sectors and BSP trees.

The segs together with the complete set of node partition lines (determined by the node_t::x, y, dx, dy fields) should form a complete division of space. So the problem is one of recursively splitting node lines with the vertices of segs that lay on (or sufficiently near in some possible cases of round-off error) the node lines, and then generating one or more dummy segs for each resulting edge in order to close the subsectors that are against them.

Something to be aware of is that a subsector may have only one explicit edge (typically a single-sided wall), while all remaining 2 or more other lines in the subsector are implicit node line edges. So it doesn't suffice to make any assumptions about how many implicit edges there may be.

I can't promise it'll be fast, but it should be the kind of thing that only needs to be done once when loading the level.

Old Post 03-31-10 17:53 #
Quasar is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
Graf Zahl
Why don't I have a custom title by now?!


Posts: 7130
Registered: 01-03


PrBoom has such an algorithm but it's not without its share of serious problems. The regular nodes with their shitty vertex precision are just not suitable for hardware rendering.

Another problem is that neighbouring polygons don't necessarily share the exact same line which is also a precision concern with hardware rendering.

GL nodes are just more robust and require a lot less work on the engine side.

Old Post 03-31-10 18:05 #
Graf Zahl is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
HollowedEmpire
Newbie


Posts: 8
Registered: 12-09



Quasar said:
..then generating one or more dummy segs for each resulting edge in order to close the subsectors that are against them.



Ingenious! That seems like it work very well actually. Especially since the subsector nodes are all sequential.. Meaning I should just be able to throw the dummy ones right on the end. I guess the tricky part will just be getting the partition line to use.

Old Post 03-31-10 19:44 #
HollowedEmpire is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
Quasar
Moderator


Posts: 4613
Registered: 08-00



Graf Zahl said:
PrBoom has such an algorithm but it's not without its share of serious problems. The regular nodes with their shitty vertex precision are just not suitable for hardware rendering.

Another problem is that neighbouring polygons don't necessarily share the exact same line which is also a precision concern with hardware rendering.

GL nodes are just more robust and require a lot less work on the engine side.


Yes the precision is an issue which concerns me. You need a *lot* of epsilon values, to say the least.

Old Post 03-31-10 19:50 #
Quasar is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit/Delete || Quote
HollowedEmpire
Newbie


Posts: 8
Registered: 12-09



Graf Zahl said:
GL nodes are just more robust and require a lot less work on the engine side.



This is very true, and they would be much simpler to implement by all kinds of degrees... but part of me sorta irks at this because it won't have that vanilla authenticity to it. I don't want the wads to have to contain the extra information.

And it's even crazier I'm saying any of this, because if you think about it.. I'm basically trying to create my own GL Node builder when you get right down to it. :P Oh the madness.

Maybe I should examine the source code to a builder.

Old Post 03-31-10 21:53 #
HollowedEmpire is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
All times are GMT. The time now is 14:34. Post New Thread    Post A Reply
 
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Classic Doom > Doom Editing > Doom's Floors

Show Printable Version | Email this Page | Subscribe to this Thread

 

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are OFF
[IMG] code is ON
 

< Contact Us - Doomworld >

Powered by: vBulletin Version 2.2.5
Copyright ©2000, 2001, Jelsoft Enterprises Limited.

Forums Directory