Setuptracenodes - what does this compile stage actually do?


(G0-Gerbil) #1

Just curious, because it’s taking ages on minas tirith and the map is barely even started.
This is just doing a straight BSP compile mind - but since it’s in the BSP stage anyway I can’t see that other compile methods will alleviate this particular problem.

Currnetly the map is entirely detail apart from bounding box, and each brush is entirely textured, IE no caulking or nowt yet.

Wondering what goes on in this stage so if necessary, I can change mapping style to suit :slight_smile:


(ydnar) #2

That’s a light compile phase feature. It subdivides the world BSP into smaller chunks for efficient raytracing.

I assume your map also has _blocksize 0 or similar.

Basically your map is just one big leaf, with everything inside it. Q3Map2’s raytracer setup subdivides each BSP leaf until it’s smaller than a certain size, or contains a certain number of triangles. Since your map is just one big leaf, it has to do a lot of work. Lots of work.

So add this key/value pair to worldspawn:

“_blocksize” “2048 2048 0”

Which will pre-split the map nicely. Make sure your terrain triangles are a power of 2 and aligned to a gridline of that unit, so lightmapping and BSP splits can happen cleanly.

y


(G0-Gerbil) #3

Gracias :slight_smile:

Actually there’s not that many brushes relatively speaking - a lot of them are prefabs I’m buildings, so I also chucked them into a big structural brush to ‘remove’ them - now everything works nicely quick again, at least for testing anyway.

Thanks again.


(G0-Gerbil) #4

RE: the terrain, I doubt it’s likely to happen like that, I was about to start messing with the new features - was kind of hoping the old block-based terrain system was dead, it’s never given me nowt but trouble :slight_smile:

Luckily there’ll be little overlap between terrain and high detailled areas anyway, so the blocksize chopping should take care of that. Something to bear in mind on my other maps though :slight_smile:


(WolfWings) #5

Actually, he just meant that the BSP will force a split along the lines you specify for the _blocksize.

With the newer terrain features, you can use odd-shaped brushes, or even build the terrain in a 3D modelling program. You no longer need to keep it to any sort of grid, but bearing in mind the ‘forced splits’ can improve performance a little. =^.^=


(G0-Gerbil) #6

Ah well fair enough. I suppose I did ask for ways on improving that bit, and he did say what would help - just got a bit confused because recent q3map2 features seem to be taking away from using old style terrain (thankfully, pita that it was!).

Anyway, it’s all tweaked as suggested, and it’s actually quick enough for me to run normal light compiles on it to (albeit at lightmapscale 4.0 for now, but I’ll be switching to some of the big bits using vertex lighting anyway) \o/


(WolfWings) #7

Look forward to seeing how MT turns out. :slight_smile:

On a side-note, look into the ‘dithered’ terrain blending Ratty figured out, if you can. It seems like it would be near-ideal for the MT terrain if you include the ‘docks’ area, especially to handle things like ‘swampy’ ground and so-forth.

I’ll be posting the document I’ve worked up on the simplified ‘smooth dithered’ terrain blending as soon as my hosting provider gets their T1 line repaired. Ah, the wonders of backhoe fade! :stuck_out_tongue:


(G0-Gerbil) #8

Look forward to seeing how MT turns out.
Me too :wink:

On a side-note, look into the ‘dithered’ terrain blending Ratty figured out, if you can. It seems like it would be near-ideal for the MT terrain if you include the ‘docks’ area, especially to handle things like ‘swampy’ ground and so-forth.
A couple of nice coincidences actually!
Firstly, I’m collaborating with Ratty on a few maps, so might prod him for help - it’ll be easier soon cos I’ll get to see some of his new work on our maps, so I’m sure ideas will be liberally borrowed :slight_smile:
Secondly, I just stuck in the dock area :smiley: (hint, it’s the tiny bit in the top left corner! The word ‘huge’ doesn’t do this map justice - ‘collosal’ is getting there, but still ;))


(WolfWings) #9

Lookin’ better and better already. And good, Ratty’ll be able to help out a LOT I bet, especially with the terrain and water and so-forth. =^.^=

I just wish my web-host wasn’t down so I could finish working on the tutorial re-write I’ve been wanting to post so Ratty could take a look at it. =-.-=


(majestyk) #10

Wow, the map looks great. Just out of curiosity: how many brushes did you use already? It really looks huge!
With so many experts hanging around here talking about the SetupTracenodes step, isn’t there anyone around who might me help on my Segementation fault problem?

http://www.splashdamage.com/index.php?name=pnPHPbb2&file=viewtopic&t=9188

You know, I’m kind of desperate. The map development came to a standstill for weeks now because it makes no sense to go on without getting around that segfault first. sigh
Any help appreciated!


(G0-Gerbil) #11

All brushes = 1900.
All level brushes (IE minus all the prefabs I’ve got hidden outside of the view) = 1003 (so not many)
For comparison, Helmsdeep A3 has 15431 brushes in total.

As for your problem, I did come across your thread when I searched for what was happening in this phase.
The only thing I can suggest is it’s trying to split up too much. Since I doubt your map is bigger than mine, is it possible you either have a ridiculously low blocksize key in worldspawn, or that you’ve too many structural brushes (inferred basically cos normal or caulked brush (both structural by default) = the problem, semi-trans brush (detail by default) = no problem.)

Can’t really comment more than that, I didn’t even know what this stage did until Ydnar enlightened me earlier on :slight_smile:


(majestyk) #12

Hm, OK. Maybe I am still more of a newbie than I thought, there is still much to learn :wink:
I did not use detail brushes yet, my brushes are all structural (except those with shaders and the func_groups, I suppose). So I have about 3000 structural brushes. But your Helmsdeep A3 surely has that much structural brushes, too, doesn’t it?


(ratty redemption) #13

@WolfWings, thanks for the recommendation and I have recently agreed to build the terrain for Gerbil`s mt map, to his design specs :slight_smile:

previous to me writing the shaders and building some water and rocks for Roughts 'the well of youth' map, Gerbil and I had started to plan two other combined et maps, a new version of his mml_church and an et version of my large terrain test map, which were calling mml_fort, where hes going to build a fort in the middle of my moat.

I can make decent buildings but prefer making terrain unless the buildings are of a sci-fi theme… for this reason I might eventually release a ja version of mml_fort, but not before the et maps are released.

and hows your tutorials coming on? ...mine are still on hold until I get settled into mapping again, but Im going to keep in mind making tutorials as I map with Gerbil, which I think will be more productive then me going back over older maps and trying to construct tutorials from them.

also as Rought`s soon to release his map, I can start the tutorial based on the rock pools from his map.

@majestyk, with the number of structural brushes, it`s more likely the portals they are creating are too complex, rather then the number which is causing problems for you.

however, Im not an expert on those, like some of the other guys here, but I can recommend you learn to map using the 'caulk hull' method, which is basically a structural hull to your map, with as much of the other brushes made detail, unless they are needed to block vis, but even then, we can have simple structural brushes hidden inside detail ones, as long as the details arent touching the outside hull… I think that`s right but if not, someone will correct me.


(G0-Gerbil) #14

I did not use detail brushes yet, my brushes are all structural (except those with shaders and the func_groups, I suppose). So I have about 3000 structural brushes. But your Helmsdeep A3 surely has that much structural brushes, too, doesn’t it?
By default the only things not structural are patches, models and things like script_movers, func_constructibles etc - func_groups are still structural, as are virtually all shaders except things like water and clips.

Helmsdeep has goes and checks 1320 structural brushes only, and that was with me getting sloppy in the caves.

Researching caulk hull is definately the best way to go - with added benefits of drastically decreasing compile times, potentially upping framerates and also making filtering in radiant easier. My old example - my first map = all structural - hours to compile. Redone to be properly structural and detail - 5 minutes for full lit compile :slight_smile: I think helmsdeep on my setup takes maybe half an hour for a full BSP VIS LIGHT compile (not with bounce, I don’t tend to bother with that).

All this is just to show that probably learning the difference between structural and detail and using them correctly - even if it doesn’t solve your actual problem here (which I reckon it will, see Ratty’s comments on it above since I agree with him on the reasoning) - will make mapping much MUCH quicker for testing which has got to be good :slight_smile:


(ratty redemption) #15

yeah, I forgot to mention the much faster vis times, so I tend to build all brushes except caulk hull detail, and compile with fast vis until I need to optimize my maps… although some might say we should get the structural brushes sorted out first, so I guess it`s whether you feel you need them to be, once understanding the benefits of both.


(WolfWings) #16

@Ratty: Yes, I’m making progress on the tutorial. I’ve finished the main ‘description’ in my own words of non-linear blending, at this point I need to take several screenshots. The tutorial I’ll post initially won’t go into detailed texture-creation for non-linear blending, only showing a simple and straightforward approach, nor will it go into three-pass non-linear blending , that will be a stand-alone article that explains the costs, and benefits, of a three-pass non-linear blend. ‘Sharp’ non-linear blends will be a seperate article, with a note in the main tutorial to look at that article if you need to use lightstyles or similair.


(ratty redemption) #17

understood :slight_smile: