Question for djbob (or any splashdamage folks)


(nib) #1

When making a map for D3, do you still use the same basic caulk/hull technique as you do for other id games? Just curious.

Added: Actually, it looks like my question should be whether or not D3 even uses detail/structural brushes. In the built-in editor when I make something detail, then choose to exclude detail brushes, nothing gets hidden. So does D3 still make use of structural/detail brushes? Do all the old bsp/vis rules from the q3 engine apply to D3?

nib


(rgoer) #2

The Doom BSPer, dmap, is ridiculously efficient at optimizing geometry. It totally culls all faces that are not part of the game world (no need to caulk coincident or outward-facing brush faces any more), and is generally pretty clever at triangle reduction as well.

Tequila! made a few interesting pk4s you can download and check out (he posted about them in this thread at map-center) to see just how much the Doom BSPer is doing. His “more hideous” test (on the second page of that thread, I believe) is fairly astounding.

So, basically, you don’t need to caulk hull any more. You do still need to seal your maps from entity leaks (caulk behind patches/models, etc), but you don’t need to be so fastideous about caulking every un-seen face. Old habits die hard, though, I’ve found…

Also, visibility is 100% manual now. It’s not a particularly complicated ordeal, but it’s a little hard to explain. I’m sure the Doom vis tutorials will start popping out of the woodwork presently.


(tequila) #3

hehe beat me to it :slight_smile:

i posted some vis info to doom3world but its only inferred info from a mapper’s experimentation, I’d be very happy to have ydnar’s perspective on things.

if i’m right vis is sort of a two stage process, the first stage being what triangles get sent to the vid card to be transformed, the second being a subset of those triangles actually being rendered. this second stage appears to be done on a per pixel basis rather than per triangle.

it’s all rather freaky coming from a Q3 engine background.

http://www.doom3world.org/phpbb2/viewtopic.php?t=2939&highlight=


(nib) #4

No kidding! I mean, I just finished Doom3 and I happen to know for a FACT that Hell as not frozen over! There’s just no way I can make a map without caulk and without detail brushes! :slight_smile:

I’d love to hear an explanation of how the vis process works now from someone that knows. I had a fairly good understanding of the bsp/vis process for the q3 engine (beyond simply knowing what it does), looks like I need to unlearn and relearn some stuff.

nib


(rgoer) #5

One thing tequila showed me today was the difference between vis with the scissor plane enabled and vis with a disabled scissor. Load up one of the Doom DM maps and enable “r_showtris 2” (to show you all triangles getting drawn based on the current vis). Then turn r_usescissor off (set it to 0, it defaults to 1) and check out the difference. Then turn r_showportals on (set it to 1). Green portals are considered to be “open” from your current POV. Red portals are the boundary of the current vis set. Anything beyond a red portal is completely ignored by Doom. However, by toggling the scissor on and off, you can see that some triangles don’t get drawn–even though they are within the current vis set. It’s all very voodoo-ish, but it starts to make sense pretty quickly once you look at the portals, triangles, and scissor-toggling all at once.


(nib) #6

rgoer, you didn’t used to hang out on tram design under a different nick did you?

Anyway, I think I got this portal thing down…and I like it. In a very simplified nutshell, visportals are functionally equivalent to hintbrushes in the q3 engine. This new method, IMO, seems much cleaner.

Although, I’m still wondering about the detail/structural thing. After looking at the mp maps, it doesn’t appear they use details either so I’m assuming what you guys said about the super effecient bsp process is true. It still is rather mind blowing though. I’d love to hear a more technical explanation as to how it works.

One way, I guess, could be that if a brush is touching the void, then it is assumed structural, otherwise, it is detail. shrug Who knows, all I know is that it makes mapping a bit faster. :wink:


(rgoer) #7

Nope I’m rgoer pretty much everywhere…

And no, there is no such thing as detail/structural any more. But, for some reason, you still need to use an actual brush to seal your map against entity leaks… So you have to build a sealed “world” of “structural” (even though there is no such thing) brushwork, but there won’t be any automatic vis calculation done this time around.


(BNA!) #8

Actually r_showtris 2 shows all frontface triangles including obscured ones.

To see all triangles the engine has to deal with ingame choose r_showtris 3 - shows all front and backface triangles.


(nib) #9

Cool, I asked because I used to live in Raleigh and there was another mapper that hung out on another forum that was in Raleigh too. Wasn’t sure if that was you or not.


(rgoer) #10

Hey no shit I used to live in Raleigh… I only just recently moved up here to Madison about a month ago. So maybe that was me…

Anyway, yeah, “3” shows backfaces, but “2” is the important one as far as vis goes. “1” shows you the triangles of shit in your current POV, while “2” shows you all the triangles in your current PVS, regardless of POV. To sort out your portaling, you don’t really need more info than that (especially once you see how the scissor works), as the screen gets pretty hard to read.


(BNA!) #11

I’m very confindent r_showtris 3 shows you all the tris visible for the engine hence the important one’s for your vis.


(rgoer) #12

ok that’s nice

try 2 instead one time, you’ll be getting similar information without all the clutter of redundant backfaces… you’ll be able to easily tell if a room is getting vis’ed out or not, without having to sort through a lot of extra triangles. But hey, to each his own.


(Aphax) #13

I’m very confindent r_showtris 3 shows you all the tris visible for the engine hence the important one’s for your vis.[/quote]

As far as I know r_showtris 3 is irrelevant because of backface culling, those tris are not normally rendered by the engine. There are exceptions where this is disabled in the material definition, but those should show up for r_showTris 2. Please correct me if I’m wrong though, this is what stuck with me from back when I was still messing around with Quake 3. But I think it is doubtful that Doom 3 would not use backface culling.