Rayne@Posted: Mon Aug 30, 2004 3:01 am :
UPDATED: I will include every bsp aspect I collect, to keep infos in one thread. Now i'm triyng to figure out the BSPext stuff..

*EDITOR OPTIONS*
The first thing I enjoyed of the new editor, is that we now have a cool BSP menu with compile options (ala quake3)... I really hate to turn on console and type dmap blablabla, so i use it for compiling purposes... Now, since we have not simply an option, but six commands, i'm trying to figure out what those six options does.

Choosing The first option (BSP) will compile your map with default settings, the same exact thing that writing into console dmap maps/yourmap and the others command will compile your map with extra options... See below for parameters descriptions.. the only thing i have to figure out is what the hell is BSPext on last command


*FULL COMMANDS DESCRIPTION*

I found following parameters in doom.exe and experimented a little.. If you know more about these, let me know.

noCurves: compile your map without process patches. If you'll play your map, patches are not showed.Them are actully invisible but collision is still detected.

lightcarve: will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum (thanks to Black dog)

nodeblocksize: = actually suggested by someone, but i didn't found any trace of it in doom exe

noaas: build your map without calculating aas files for AI

nocm: ???

notjunc: ???

shadowopt: ???

noclipsides: ???

nomodels: ???

verboseentities: ???

noopt: compile your map without merge brushes with contiguos textures (and more? )

noflood: doesn't perform the "flood" process so your map won't leak even if entities can reach the void (usefull to use like a sort of "region" tool)



HOW TO ADD OPTIONS IN BSP MENU

There are 2 methods to add your custom options in BSP menu, one is achieved in Radiant, and one is achieved by manually edit your radiant project file (doom.qe4). I prefer edit the file manually cause the radiant feature is a little buggish.


1) Make sure that your doom.qe4 file is placed in the right folder, the BASE folder. Something like "doom3\base\doom.qe4 "


2) open your doom.qe4 in a textpad.. you can see something like that

{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""

"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Your project settings.. The bold strings, are the options that are present in the BSP menu of radiant.. Notice that there are two sets of quotes, the first one contain the actual compile options and the second one is empty


3) now you can insert your new line using this syntax

"bsp command1 command2 command3" ""

Example:

if you want a compile session that will not process curves and don't perform the "flood" process, you can add

"bsp nocurves noflood" ""

and have something like this new one


Quote:
{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves noflood" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""
"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Now you have a new option in the BSP menu of radiant named "bsp nocurves noflood" that works perfectly (please refer above in this thread for options details)



Black Dog@Posted: Mon Aug 30, 2004 11:26 am :
I get the impression there are plenty of options. For example, -nodeblocksize <n>. I don't know what any of them are though.



Black Dog@Posted: Wed Sep 01, 2004 10:10 am :
I just remembered another one: -lightcarve, which will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum. Not good with many small lights though.



Rayne@Posted: Wed Sep 01, 2004 11:53 am :
Ops!



Rayne@Posted: Thu Sep 02, 2004 5:13 pm :
Few updates!



Black Dog@Posted: Thu Sep 02, 2004 6:28 pm :
Good call on making this thread, very useful reference. I'll make sure to add more stuff if I stumble across it.

By the way, I believe -nodeblocksize controls the size of the chunks the BSP process carves the level into. In other words, your level space will be split into peices of size: nodeblocksize regardless of geometry, then cut up further by any structural stuff. I could easily be wrong on this though.

It would be useful if you're making a huge outdoor level and are running out of memory on compiles - up the -nodeblocksize to 4096 or so (default is 1024) and you can compile a much bigger level by keeping the number of created leaves down.



Black Dog@Posted: Thu Sep 02, 2004 7:17 pm :
Oh yeah, I should note: I picked these up from other people. I haven't tried them. Hope they work. :)



Rayne@Posted: Fri Sep 03, 2004 1:29 am :
Another small update :wink:



RedWolf@Posted: Fri Sep 03, 2004 4:52 am :
Many thanks Rayne, and anymore you can dig up would be great. :mrgreen:


EDIT: "noopt"

Quote:
dmap noopt t
---- dmap ----
noOptimize = true
--- LoadDMapFile ---


Ran a small test map (hollowed cube) noopt means no optimize, and its fairly obvious that it doesn't. On a simple map of normaly about 115 tris (from r_showprimitives) it becomes 175 tris. However, when I did a map with about a175 tris to begin with after noopt it ended up more then doubleing at 380 tris. On a large map this would be very bad.

lightcarve seems to work exactly as avertized, but probably would add a lot of tris aswell on a large map (added about 60 tris to the 114 tris map). In the same map above, I added 4 small lights even placed only touching the floor (50 50 50) only the radous of the light was colored red, everything else was black so it works really well. Also I tried noopt lightcarve, and got 380 plus tris. Keep in mind that that was only touching the floor...

Also as you can see above you can run these from the console in game by dmap option mapname



Rayne@Posted: Fri Sep 03, 2004 12:45 pm :
I just starting to think that some options are obsolete.. I remember that alpha build made lightcarve by default, and now the retail version will not..


Now i'm at work, but when I've the game in my hands i'm curious to test how ID compiled his maps.. If they used light carve, or not, how they avoid the dmap aspect that merge contigues brushes etc..



Gabrobot@Posted: Sun Sep 05, 2004 4:19 am :
I can't get the nodeblocksize command to work...it doesn't seem to recognize it, and instead thinks "nodeblocksize" is the name of the map to be compiled. Someone knowlegable on the Splash Damage forums told me about the nodeblocksize command as well, so this greatly puzzles me...



W01f@Posted: Thu Sep 23, 2004 10:42 pm :
I know for a fact that they didn't compile their maps with lightcarve. Just go into "color mode" in any of the maps and it is quite evident. They also didn't do much manual splitting..but that is understandable since they didn't have all the time in the world.

Lightcarve isn't as useful as you would think. It can be good for small maps...rocket arena style or what have you, but for maps as large as all of the doom3 stock maps, they would end up tripling triscounts, and making it run slow everywhere, rather than just areas with lots of lights.

Like I was saying in another topic, lightcarve will split all brushes in the map, even ones that wouldn't need to be split. This will kill the triscounts. You are better off splitting brushes manually, only where you see fit.



Brain Trepaning@Posted: Sat Oct 23, 2004 8:57 am :
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!
BTW and FYI: These BSP Brushes were made in 3ds Max and exported as a MAP, then opened and carved in D3Ed.
Image
Image



Black Dog@Posted: Sat Oct 23, 2004 1:51 pm :
In a scene where polycount is more of a limiting factor (~100K world polys), I suspect lightcarve would not double your FPS. That test map looks awfully like a best-case scenario for lightcarve, with those large unbroken surfaces and sparse large light volumes.



RedWolf@Posted: Sat Oct 23, 2004 5:45 pm :
Quote:
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!


I'd agree I'f you can keep your tris count under the recomended level, but If your already there with the map. Trippling tris count from say 60,000 to 180,000 would be bad. :)



Sebazzz@Posted: Wed Nov 30, 2005 9:32 am :
with nocm you just have no cm compiled



iceheart@Posted: Wed Nov 30, 2005 9:50 am :
http://www.modwiki.net/wiki/Dmap_%28console_command%29



Sebazzz@Posted: Wed Nov 30, 2005 3:51 pm :
Okay. Alle the answers has been anwered then. :D



RedWolf@Posted: Fri Dec 02, 2005 1:32 am :
From iddevnet.com:

Code:
01/14/05    dmap options
glview   Not implemented
v   Print extra information as the map is compiling
draw   Render the level as it's compiling (not sure if this works anymore)
noFlood   Don't 'flood' the level marking outside surfaces invisible
noLightCarve   Don't carve geometry based light volumes (default)
lightCarve   Carve the geometry based on the volume of the lights that touch them
noOpt   Don't optimize (merge and cut) triangles
verboseentities   Print extra information about entities (more so than with just verbose)
noCurves   Don't process patches
noModels   Not implemented
noClipSides   For debugging, don't clip the sides of a brush to other solid parts of the world
noCarve   Don't cut up any surfaces (like adding noFragment to every surface)
shadowOpt <n>   Set the shadow optimize level:
0 - No optimization
1 - SO_MERGE_SURFACES (default)
2 - SO_CULL_OCCLUDED
3 - SO_CLIP_OCCLUDERS
4 - SO_CLIP_SILS
5 - SO_SIL_OPTIMIZE
noTjunc   Don't fix t-juctions. (Triangle optimization won't work without t-junction fixing)
noCM   Don't generate .cm (collision) information
noAAS   Don't generate .aas (pathfinding) information
editorOutput   Pipe status messages to the editor window



Rayne@Posted: Mon Aug 30, 2004 3:01 am :
UPDATED: I will include every bsp aspect I collect, to keep infos in one thread. Now i'm triyng to figure out the BSPext stuff..

*EDITOR OPTIONS*
The first thing I enjoyed of the new editor, is that we now have a cool BSP menu with compile options (ala quake3)... I really hate to turn on console and type dmap blablabla, so i use it for compiling purposes... Now, since we have not simply an option, but six commands, i'm trying to figure out what those six options does.

Choosing The first option (BSP) will compile your map with default settings, the same exact thing that writing into console dmap maps/yourmap and the others command will compile your map with extra options... See below for parameters descriptions.. the only thing i have to figure out is what the hell is BSPext on last command


*FULL COMMANDS DESCRIPTION*

I found following parameters in doom.exe and experimented a little.. If you know more about these, let me know.

noCurves: compile your map without process patches. If you'll play your map, patches are not showed.Them are actully invisible but collision is still detected.

lightcarve: will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum (thanks to Black dog)

nodeblocksize: = actually suggested by someone, but i didn't found any trace of it in doom exe

noaas: build your map without calculating aas files for AI

nocm: ???

notjunc: ???

shadowopt: ???

noclipsides: ???

nomodels: ???

verboseentities: ???

noopt: compile your map without merge brushes with contiguos textures (and more? )

noflood: doesn't perform the "flood" process so your map won't leak even if entities can reach the void (usefull to use like a sort of "region" tool)



HOW TO ADD OPTIONS IN BSP MENU

There are 2 methods to add your custom options in BSP menu, one is achieved in Radiant, and one is achieved by manually edit your radiant project file (doom.qe4). I prefer edit the file manually cause the radiant feature is a little buggish.


1) Make sure that your doom.qe4 file is placed in the right folder, the BASE folder. Something like "doom3\base\doom.qe4 "


2) open your doom.qe4 in a textpad.. you can see something like that

{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""

"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Your project settings.. The bold strings, are the options that are present in the BSP menu of radiant.. Notice that there are two sets of quotes, the first one contain the actual compile options and the second one is empty


3) now you can insert your new line using this syntax

"bsp command1 command2 command3" ""

Example:

if you want a compile session that will not process curves and don't perform the "flood" process, you can add

"bsp nocurves noflood" ""

and have something like this new one


Quote:
{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves noflood" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""
"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Now you have a new option in the BSP menu of radiant named "bsp nocurves noflood" that works perfectly (please refer above in this thread for options details)



Black Dog@Posted: Mon Aug 30, 2004 11:26 am :
I get the impression there are plenty of options. For example, -nodeblocksize <n>. I don't know what any of them are though.



Black Dog@Posted: Wed Sep 01, 2004 10:10 am :
I just remembered another one: -lightcarve, which will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum. Not good with many small lights though.



Rayne@Posted: Wed Sep 01, 2004 11:53 am :
Ops!



Rayne@Posted: Thu Sep 02, 2004 5:13 pm :
Few updates!



Black Dog@Posted: Thu Sep 02, 2004 6:28 pm :
Good call on making this thread, very useful reference. I'll make sure to add more stuff if I stumble across it.

By the way, I believe -nodeblocksize controls the size of the chunks the BSP process carves the level into. In other words, your level space will be split into peices of size: nodeblocksize regardless of geometry, then cut up further by any structural stuff. I could easily be wrong on this though.

It would be useful if you're making a huge outdoor level and are running out of memory on compiles - up the -nodeblocksize to 4096 or so (default is 1024) and you can compile a much bigger level by keeping the number of created leaves down.



Black Dog@Posted: Thu Sep 02, 2004 7:17 pm :
Oh yeah, I should note: I picked these up from other people. I haven't tried them. Hope they work. :)



Rayne@Posted: Fri Sep 03, 2004 1:29 am :
Another small update :wink:



RedWolf@Posted: Fri Sep 03, 2004 4:52 am :
Many thanks Rayne, and anymore you can dig up would be great. :mrgreen:


EDIT: "noopt"

Quote:
dmap noopt t
---- dmap ----
noOptimize = true
--- LoadDMapFile ---


Ran a small test map (hollowed cube) noopt means no optimize, and its fairly obvious that it doesn't. On a simple map of normaly about 115 tris (from r_showprimitives) it becomes 175 tris. However, when I did a map with about a175 tris to begin with after noopt it ended up more then doubleing at 380 tris. On a large map this would be very bad.

lightcarve seems to work exactly as avertized, but probably would add a lot of tris aswell on a large map (added about 60 tris to the 114 tris map). In the same map above, I added 4 small lights even placed only touching the floor (50 50 50) only the radous of the light was colored red, everything else was black so it works really well. Also I tried noopt lightcarve, and got 380 plus tris. Keep in mind that that was only touching the floor...

Also as you can see above you can run these from the console in game by dmap option mapname



Rayne@Posted: Fri Sep 03, 2004 12:45 pm :
I just starting to think that some options are obsolete.. I remember that alpha build made lightcarve by default, and now the retail version will not..


Now i'm at work, but when I've the game in my hands i'm curious to test how ID compiled his maps.. If they used light carve, or not, how they avoid the dmap aspect that merge contigues brushes etc..



Gabrobot@Posted: Sun Sep 05, 2004 4:19 am :
I can't get the nodeblocksize command to work...it doesn't seem to recognize it, and instead thinks "nodeblocksize" is the name of the map to be compiled. Someone knowlegable on the Splash Damage forums told me about the nodeblocksize command as well, so this greatly puzzles me...



W01f@Posted: Thu Sep 23, 2004 10:42 pm :
I know for a fact that they didn't compile their maps with lightcarve. Just go into "color mode" in any of the maps and it is quite evident. They also didn't do much manual splitting..but that is understandable since they didn't have all the time in the world.

Lightcarve isn't as useful as you would think. It can be good for small maps...rocket arena style or what have you, but for maps as large as all of the doom3 stock maps, they would end up tripling triscounts, and making it run slow everywhere, rather than just areas with lots of lights.

Like I was saying in another topic, lightcarve will split all brushes in the map, even ones that wouldn't need to be split. This will kill the triscounts. You are better off splitting brushes manually, only where you see fit.



Brain Trepaning@Posted: Sat Oct 23, 2004 8:57 am :
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!
BTW and FYI: These BSP Brushes were made in 3ds Max and exported as a MAP, then opened and carved in D3Ed.
Image
Image



Black Dog@Posted: Sat Oct 23, 2004 1:51 pm :
In a scene where polycount is more of a limiting factor (~100K world polys), I suspect lightcarve would not double your FPS. That test map looks awfully like a best-case scenario for lightcarve, with those large unbroken surfaces and sparse large light volumes.



RedWolf@Posted: Sat Oct 23, 2004 5:45 pm :
Quote:
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!


I'd agree I'f you can keep your tris count under the recomended level, but If your already there with the map. Trippling tris count from say 60,000 to 180,000 would be bad. :)



Sebazzz@Posted: Wed Nov 30, 2005 9:32 am :
with nocm you just have no cm compiled



iceheart@Posted: Wed Nov 30, 2005 9:50 am :
http://www.modwiki.net/wiki/Dmap_%28console_command%29



Sebazzz@Posted: Wed Nov 30, 2005 3:51 pm :
Okay. Alle the answers has been anwered then. :D



RedWolf@Posted: Fri Dec 02, 2005 1:32 am :
From iddevnet.com:

Code:
01/14/05    dmap options
glview   Not implemented
v   Print extra information as the map is compiling
draw   Render the level as it's compiling (not sure if this works anymore)
noFlood   Don't 'flood' the level marking outside surfaces invisible
noLightCarve   Don't carve geometry based light volumes (default)
lightCarve   Carve the geometry based on the volume of the lights that touch them
noOpt   Don't optimize (merge and cut) triangles
verboseentities   Print extra information about entities (more so than with just verbose)
noCurves   Don't process patches
noModels   Not implemented
noClipSides   For debugging, don't clip the sides of a brush to other solid parts of the world
noCarve   Don't cut up any surfaces (like adding noFragment to every surface)
shadowOpt <n>   Set the shadow optimize level:
0 - No optimization
1 - SO_MERGE_SURFACES (default)
2 - SO_CULL_OCCLUDED
3 - SO_CLIP_OCCLUDERS
4 - SO_CLIP_SILS
5 - SO_SIL_OPTIMIZE
noTjunc   Don't fix t-juctions. (Triangle optimization won't work without t-junction fixing)
noCM   Don't generate .cm (collision) information
noAAS   Don't generate .aas (pathfinding) information
editorOutput   Pipe status messages to the editor window



Rayne@Posted: Mon Aug 30, 2004 3:01 am :
UPDATED: I will include every bsp aspect I collect, to keep infos in one thread. Now i'm triyng to figure out the BSPext stuff..

*EDITOR OPTIONS*
The first thing I enjoyed of the new editor, is that we now have a cool BSP menu with compile options (ala quake3)... I really hate to turn on console and type dmap blablabla, so i use it for compiling purposes... Now, since we have not simply an option, but six commands, i'm trying to figure out what those six options does.

Choosing The first option (BSP) will compile your map with default settings, the same exact thing that writing into console dmap maps/yourmap and the others command will compile your map with extra options... See below for parameters descriptions.. the only thing i have to figure out is what the hell is BSPext on last command


*FULL COMMANDS DESCRIPTION*

I found following parameters in doom.exe and experimented a little.. If you know more about these, let me know.

noCurves: compile your map without process patches. If you'll play your map, patches are not showed.Them are actully invisible but collision is still detected.

lightcarve: will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum (thanks to Black dog)

nodeblocksize: = actually suggested by someone, but i didn't found any trace of it in doom exe

noaas: build your map without calculating aas files for AI

nocm: ???

notjunc: ???

shadowopt: ???

noclipsides: ???

nomodels: ???

verboseentities: ???

noopt: compile your map without merge brushes with contiguos textures (and more? )

noflood: doesn't perform the "flood" process so your map won't leak even if entities can reach the void (usefull to use like a sort of "region" tool)



HOW TO ADD OPTIONS IN BSP MENU

There are 2 methods to add your custom options in BSP menu, one is achieved in Radiant, and one is achieved by manually edit your radiant project file (doom.qe4). I prefer edit the file manually cause the radiant feature is a little buggish.


1) Make sure that your doom.qe4 file is placed in the right folder, the BASE folder. Something like "doom3\base\doom.qe4 "


2) open your doom.qe4 in a textpad.. you can see something like that

{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""

"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Your project settings.. The bold strings, are the options that are present in the BSP menu of radiant.. Notice that there are two sets of quotes, the first one contain the actual compile options and the second one is empty


3) now you can insert your new line using this syntax

"bsp command1 command2 command3" ""

Example:

if you want a compile session that will not process curves and don't perform the "flood" process, you can add

"bsp nocurves noflood" ""

and have something like this new one


Quote:
{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves noflood" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""
"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Now you have a new option in the BSP menu of radiant named "bsp nocurves noflood" that works perfectly (please refer above in this thread for options details)



Black Dog@Posted: Mon Aug 30, 2004 11:26 am :
I get the impression there are plenty of options. For example, -nodeblocksize <n>. I don't know what any of them are though.



Black Dog@Posted: Wed Sep 01, 2004 10:10 am :
I just remembered another one: -lightcarve, which will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum. Not good with many small lights though.



Rayne@Posted: Wed Sep 01, 2004 11:53 am :
Ops!



Rayne@Posted: Thu Sep 02, 2004 5:13 pm :
Few updates!



Black Dog@Posted: Thu Sep 02, 2004 6:28 pm :
Good call on making this thread, very useful reference. I'll make sure to add more stuff if I stumble across it.

By the way, I believe -nodeblocksize controls the size of the chunks the BSP process carves the level into. In other words, your level space will be split into peices of size: nodeblocksize regardless of geometry, then cut up further by any structural stuff. I could easily be wrong on this though.

It would be useful if you're making a huge outdoor level and are running out of memory on compiles - up the -nodeblocksize to 4096 or so (default is 1024) and you can compile a much bigger level by keeping the number of created leaves down.



Black Dog@Posted: Thu Sep 02, 2004 7:17 pm :
Oh yeah, I should note: I picked these up from other people. I haven't tried them. Hope they work. :)



Rayne@Posted: Fri Sep 03, 2004 1:29 am :
Another small update :wink:



RedWolf@Posted: Fri Sep 03, 2004 4:52 am :
Many thanks Rayne, and anymore you can dig up would be great. :mrgreen:


EDIT: "noopt"

Quote:
dmap noopt t
---- dmap ----
noOptimize = true
--- LoadDMapFile ---


Ran a small test map (hollowed cube) noopt means no optimize, and its fairly obvious that it doesn't. On a simple map of normaly about 115 tris (from r_showprimitives) it becomes 175 tris. However, when I did a map with about a175 tris to begin with after noopt it ended up more then doubleing at 380 tris. On a large map this would be very bad.

lightcarve seems to work exactly as avertized, but probably would add a lot of tris aswell on a large map (added about 60 tris to the 114 tris map). In the same map above, I added 4 small lights even placed only touching the floor (50 50 50) only the radous of the light was colored red, everything else was black so it works really well. Also I tried noopt lightcarve, and got 380 plus tris. Keep in mind that that was only touching the floor...

Also as you can see above you can run these from the console in game by dmap option mapname



Rayne@Posted: Fri Sep 03, 2004 12:45 pm :
I just starting to think that some options are obsolete.. I remember that alpha build made lightcarve by default, and now the retail version will not..


Now i'm at work, but when I've the game in my hands i'm curious to test how ID compiled his maps.. If they used light carve, or not, how they avoid the dmap aspect that merge contigues brushes etc..



Gabrobot@Posted: Sun Sep 05, 2004 4:19 am :
I can't get the nodeblocksize command to work...it doesn't seem to recognize it, and instead thinks "nodeblocksize" is the name of the map to be compiled. Someone knowlegable on the Splash Damage forums told me about the nodeblocksize command as well, so this greatly puzzles me...



W01f@Posted: Thu Sep 23, 2004 10:42 pm :
I know for a fact that they didn't compile their maps with lightcarve. Just go into "color mode" in any of the maps and it is quite evident. They also didn't do much manual splitting..but that is understandable since they didn't have all the time in the world.

Lightcarve isn't as useful as you would think. It can be good for small maps...rocket arena style or what have you, but for maps as large as all of the doom3 stock maps, they would end up tripling triscounts, and making it run slow everywhere, rather than just areas with lots of lights.

Like I was saying in another topic, lightcarve will split all brushes in the map, even ones that wouldn't need to be split. This will kill the triscounts. You are better off splitting brushes manually, only where you see fit.



Brain Trepaning@Posted: Sat Oct 23, 2004 8:57 am :
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!
BTW and FYI: These BSP Brushes were made in 3ds Max and exported as a MAP, then opened and carved in D3Ed.
Image
Image



Black Dog@Posted: Sat Oct 23, 2004 1:51 pm :
In a scene where polycount is more of a limiting factor (~100K world polys), I suspect lightcarve would not double your FPS. That test map looks awfully like a best-case scenario for lightcarve, with those large unbroken surfaces and sparse large light volumes.



RedWolf@Posted: Sat Oct 23, 2004 5:45 pm :
Quote:
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!


I'd agree I'f you can keep your tris count under the recomended level, but If your already there with the map. Trippling tris count from say 60,000 to 180,000 would be bad. :)



Sebazzz@Posted: Wed Nov 30, 2005 9:32 am :
with nocm you just have no cm compiled



iceheart@Posted: Wed Nov 30, 2005 9:50 am :
http://www.modwiki.net/wiki/Dmap_%28console_command%29



Sebazzz@Posted: Wed Nov 30, 2005 3:51 pm :
Okay. Alle the answers has been anwered then. :D



RedWolf@Posted: Fri Dec 02, 2005 1:32 am :
From iddevnet.com:

Code:
01/14/05    dmap options
glview   Not implemented
v   Print extra information as the map is compiling
draw   Render the level as it's compiling (not sure if this works anymore)
noFlood   Don't 'flood' the level marking outside surfaces invisible
noLightCarve   Don't carve geometry based light volumes (default)
lightCarve   Carve the geometry based on the volume of the lights that touch them
noOpt   Don't optimize (merge and cut) triangles
verboseentities   Print extra information about entities (more so than with just verbose)
noCurves   Don't process patches
noModels   Not implemented
noClipSides   For debugging, don't clip the sides of a brush to other solid parts of the world
noCarve   Don't cut up any surfaces (like adding noFragment to every surface)
shadowOpt <n>   Set the shadow optimize level:
0 - No optimization
1 - SO_MERGE_SURFACES (default)
2 - SO_CULL_OCCLUDED
3 - SO_CLIP_OCCLUDERS
4 - SO_CLIP_SILS
5 - SO_SIL_OPTIMIZE
noTjunc   Don't fix t-juctions. (Triangle optimization won't work without t-junction fixing)
noCM   Don't generate .cm (collision) information
noAAS   Don't generate .aas (pathfinding) information
editorOutput   Pipe status messages to the editor window



Rayne@Posted: Mon Aug 30, 2004 3:01 am :
UPDATED: I will include every bsp aspect I collect, to keep infos in one thread. Now i'm triyng to figure out the BSPext stuff..

*EDITOR OPTIONS*
The first thing I enjoyed of the new editor, is that we now have a cool BSP menu with compile options (ala quake3)... I really hate to turn on console and type dmap blablabla, so i use it for compiling purposes... Now, since we have not simply an option, but six commands, i'm trying to figure out what those six options does.

Choosing The first option (BSP) will compile your map with default settings, the same exact thing that writing into console dmap maps/yourmap and the others command will compile your map with extra options... See below for parameters descriptions.. the only thing i have to figure out is what the hell is BSPext on last command


*FULL COMMANDS DESCRIPTION*

I found following parameters in doom.exe and experimented a little.. If you know more about these, let me know.

noCurves: compile your map without process patches. If you'll play your map, patches are not showed.Them are actully invisible but collision is still detected.

lightcarve: will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum (thanks to Black dog)

nodeblocksize: = actually suggested by someone, but i didn't found any trace of it in doom exe

noaas: build your map without calculating aas files for AI

nocm: ???

notjunc: ???

shadowopt: ???

noclipsides: ???

nomodels: ???

verboseentities: ???

noopt: compile your map without merge brushes with contiguos textures (and more? )

noflood: doesn't perform the "flood" process so your map won't leak even if entities can reach the void (usefull to use like a sort of "region" tool)



HOW TO ADD OPTIONS IN BSP MENU

There are 2 methods to add your custom options in BSP menu, one is achieved in Radiant, and one is achieved by manually edit your radiant project file (doom.qe4). I prefer edit the file manually cause the radiant feature is a little buggish.


1) Make sure that your doom.qe4 file is placed in the right folder, the BASE folder. Something like "doom3\base\doom.qe4 "


2) open your doom.qe4 in a textpad.. you can see something like that

{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""

"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Your project settings.. The bold strings, are the options that are present in the BSP menu of radiant.. Notice that there are two sets of quotes, the first one contain the actual compile options and the second one is empty


3) now you can insert your new line using this syntax

"bsp command1 command2 command3" ""

Example:

if you want a compile session that will not process curves and don't perform the "flood" process, you can add

"bsp nocurves noflood" ""

and have something like this new one


Quote:
{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves noflood" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""
"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Now you have a new option in the BSP menu of radiant named "bsp nocurves noflood" that works perfectly (please refer above in this thread for options details)



Black Dog@Posted: Mon Aug 30, 2004 11:26 am :
I get the impression there are plenty of options. For example, -nodeblocksize <n>. I don't know what any of them are though.



Black Dog@Posted: Wed Sep 01, 2004 10:10 am :
I just remembered another one: -lightcarve, which will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum. Not good with many small lights though.



Rayne@Posted: Wed Sep 01, 2004 11:53 am :
Ops!



Rayne@Posted: Thu Sep 02, 2004 5:13 pm :
Few updates!



Black Dog@Posted: Thu Sep 02, 2004 6:28 pm :
Good call on making this thread, very useful reference. I'll make sure to add more stuff if I stumble across it.

By the way, I believe -nodeblocksize controls the size of the chunks the BSP process carves the level into. In other words, your level space will be split into peices of size: nodeblocksize regardless of geometry, then cut up further by any structural stuff. I could easily be wrong on this though.

It would be useful if you're making a huge outdoor level and are running out of memory on compiles - up the -nodeblocksize to 4096 or so (default is 1024) and you can compile a much bigger level by keeping the number of created leaves down.



Black Dog@Posted: Thu Sep 02, 2004 7:17 pm :
Oh yeah, I should note: I picked these up from other people. I haven't tried them. Hope they work. :)



Rayne@Posted: Fri Sep 03, 2004 1:29 am :
Another small update :wink:



RedWolf@Posted: Fri Sep 03, 2004 4:52 am :
Many thanks Rayne, and anymore you can dig up would be great. :mrgreen:


EDIT: "noopt"

Quote:
dmap noopt t
---- dmap ----
noOptimize = true
--- LoadDMapFile ---


Ran a small test map (hollowed cube) noopt means no optimize, and its fairly obvious that it doesn't. On a simple map of normaly about 115 tris (from r_showprimitives) it becomes 175 tris. However, when I did a map with about a175 tris to begin with after noopt it ended up more then doubleing at 380 tris. On a large map this would be very bad.

lightcarve seems to work exactly as avertized, but probably would add a lot of tris aswell on a large map (added about 60 tris to the 114 tris map). In the same map above, I added 4 small lights even placed only touching the floor (50 50 50) only the radous of the light was colored red, everything else was black so it works really well. Also I tried noopt lightcarve, and got 380 plus tris. Keep in mind that that was only touching the floor...

Also as you can see above you can run these from the console in game by dmap option mapname



Rayne@Posted: Fri Sep 03, 2004 12:45 pm :
I just starting to think that some options are obsolete.. I remember that alpha build made lightcarve by default, and now the retail version will not..


Now i'm at work, but when I've the game in my hands i'm curious to test how ID compiled his maps.. If they used light carve, or not, how they avoid the dmap aspect that merge contigues brushes etc..



Gabrobot@Posted: Sun Sep 05, 2004 4:19 am :
I can't get the nodeblocksize command to work...it doesn't seem to recognize it, and instead thinks "nodeblocksize" is the name of the map to be compiled. Someone knowlegable on the Splash Damage forums told me about the nodeblocksize command as well, so this greatly puzzles me...



W01f@Posted: Thu Sep 23, 2004 10:42 pm :
I know for a fact that they didn't compile their maps with lightcarve. Just go into "color mode" in any of the maps and it is quite evident. They also didn't do much manual splitting..but that is understandable since they didn't have all the time in the world.

Lightcarve isn't as useful as you would think. It can be good for small maps...rocket arena style or what have you, but for maps as large as all of the doom3 stock maps, they would end up tripling triscounts, and making it run slow everywhere, rather than just areas with lots of lights.

Like I was saying in another topic, lightcarve will split all brushes in the map, even ones that wouldn't need to be split. This will kill the triscounts. You are better off splitting brushes manually, only where you see fit.



Brain Trepaning@Posted: Sat Oct 23, 2004 8:57 am :
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!
BTW and FYI: These BSP Brushes were made in 3ds Max and exported as a MAP, then opened and carved in D3Ed.
Image
Image



Black Dog@Posted: Sat Oct 23, 2004 1:51 pm :
In a scene where polycount is more of a limiting factor (~100K world polys), I suspect lightcarve would not double your FPS. That test map looks awfully like a best-case scenario for lightcarve, with those large unbroken surfaces and sparse large light volumes.



RedWolf@Posted: Sat Oct 23, 2004 5:45 pm :
Quote:
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!


I'd agree I'f you can keep your tris count under the recomended level, but If your already there with the map. Trippling tris count from say 60,000 to 180,000 would be bad. :)



Sebazzz@Posted: Wed Nov 30, 2005 9:32 am :
with nocm you just have no cm compiled



iceheart@Posted: Wed Nov 30, 2005 9:50 am :
http://www.modwiki.net/wiki/Dmap_%28console_command%29



Sebazzz@Posted: Wed Nov 30, 2005 3:51 pm :
Okay. Alle the answers has been anwered then. :D



RedWolf@Posted: Fri Dec 02, 2005 1:32 am :
From iddevnet.com:

Code:
01/14/05    dmap options
glview   Not implemented
v   Print extra information as the map is compiling
draw   Render the level as it's compiling (not sure if this works anymore)
noFlood   Don't 'flood' the level marking outside surfaces invisible
noLightCarve   Don't carve geometry based light volumes (default)
lightCarve   Carve the geometry based on the volume of the lights that touch them
noOpt   Don't optimize (merge and cut) triangles
verboseentities   Print extra information about entities (more so than with just verbose)
noCurves   Don't process patches
noModels   Not implemented
noClipSides   For debugging, don't clip the sides of a brush to other solid parts of the world
noCarve   Don't cut up any surfaces (like adding noFragment to every surface)
shadowOpt <n>   Set the shadow optimize level:
0 - No optimization
1 - SO_MERGE_SURFACES (default)
2 - SO_CULL_OCCLUDED
3 - SO_CLIP_OCCLUDERS
4 - SO_CLIP_SILS
5 - SO_SIL_OPTIMIZE
noTjunc   Don't fix t-juctions. (Triangle optimization won't work without t-junction fixing)
noCM   Don't generate .cm (collision) information
noAAS   Don't generate .aas (pathfinding) information
editorOutput   Pipe status messages to the editor window



Rayne@Posted: Mon Aug 30, 2004 2:01 am :
UPDATED: I will include every bsp aspect I collect, to keep infos in one thread. Now i'm triyng to figure out the BSPext stuff..

*EDITOR OPTIONS*
The first thing I enjoyed of the new editor, is that we now have a cool BSP menu with compile options (ala quake3)... I really hate to turn on console and type dmap blablabla, so i use it for compiling purposes... Now, since we have not simply an option, but six commands, i'm trying to figure out what those six options does.

Choosing The first option (BSP) will compile your map with default settings, the same exact thing that writing into console dmap maps/yourmap and the others command will compile your map with extra options... See below for parameters descriptions.. the only thing i have to figure out is what the hell is BSPext on last command


*FULL COMMANDS DESCRIPTION*

I found following parameters in doom.exe and experimented a little.. If you know more about these, let me know.

noCurves: compile your map without process patches. If you'll play your map, patches are not showed.Them are actully invisible but collision is still detected.

lightcarve: will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum (thanks to Black dog)

nodeblocksize: = actually suggested by someone, but i didn't found any trace of it in doom exe

noaas: build your map without calculating aas files for AI

nocm: ???

notjunc: ???

shadowopt: ???

noclipsides: ???

nomodels: ???

verboseentities: ???

noopt: compile your map without merge brushes with contiguos textures (and more? )

noflood: doesn't perform the "flood" process so your map won't leak even if entities can reach the void (usefull to use like a sort of "region" tool)



HOW TO ADD OPTIONS IN BSP MENU

There are 2 methods to add your custom options in BSP menu, one is achieved in Radiant, and one is achieved by manually edit your radiant project file (doom.qe4). I prefer edit the file manually cause the radiant feature is a little buggish.


1) Make sure that your doom.qe4 file is placed in the right folder, the BASE folder. Something like "doom3\base\doom.qe4 "


2) open your doom.qe4 in a textpad.. you can see something like that

{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""

"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Your project settings.. The bold strings, are the options that are present in the BSP menu of radiant.. Notice that there are two sets of quotes, the first one contain the actual compile options and the second one is empty


3) now you can insert your new line using this syntax

"bsp command1 command2 command3" ""

Example:

if you want a compile session that will not process curves and don't perform the "flood" process, you can add

"bsp nocurves noflood" ""

and have something like this new one


Quote:
{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves noflood" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""
"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Now you have a new option in the BSP menu of radiant named "bsp nocurves noflood" that works perfectly (please refer above in this thread for options details)



Black Dog@Posted: Mon Aug 30, 2004 10:26 am :
I get the impression there are plenty of options. For example, -nodeblocksize <n>. I don't know what any of them are though.



Black Dog@Posted: Wed Sep 01, 2004 9:10 am :
I just remembered another one: -lightcarve, which will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum. Not good with many small lights though.



Rayne@Posted: Wed Sep 01, 2004 10:53 am :
Ops!



Rayne@Posted: Thu Sep 02, 2004 4:13 pm :
Few updates!



Black Dog@Posted: Thu Sep 02, 2004 5:28 pm :
Good call on making this thread, very useful reference. I'll make sure to add more stuff if I stumble across it.

By the way, I believe -nodeblocksize controls the size of the chunks the BSP process carves the level into. In other words, your level space will be split into peices of size: nodeblocksize regardless of geometry, then cut up further by any structural stuff. I could easily be wrong on this though.

It would be useful if you're making a huge outdoor level and are running out of memory on compiles - up the -nodeblocksize to 4096 or so (default is 1024) and you can compile a much bigger level by keeping the number of created leaves down.



Black Dog@Posted: Thu Sep 02, 2004 6:17 pm :
Oh yeah, I should note: I picked these up from other people. I haven't tried them. Hope they work. :)



Rayne@Posted: Fri Sep 03, 2004 12:29 am :
Another small update :wink:



RedWolf@Posted: Fri Sep 03, 2004 3:52 am :
Many thanks Rayne, and anymore you can dig up would be great. :mrgreen:


EDIT: "noopt"

Quote:
dmap noopt t
---- dmap ----
noOptimize = true
--- LoadDMapFile ---


Ran a small test map (hollowed cube) noopt means no optimize, and its fairly obvious that it doesn't. On a simple map of normaly about 115 tris (from r_showprimitives) it becomes 175 tris. However, when I did a map with about a175 tris to begin with after noopt it ended up more then doubleing at 380 tris. On a large map this would be very bad.

lightcarve seems to work exactly as avertized, but probably would add a lot of tris aswell on a large map (added about 60 tris to the 114 tris map). In the same map above, I added 4 small lights even placed only touching the floor (50 50 50) only the radous of the light was colored red, everything else was black so it works really well. Also I tried noopt lightcarve, and got 380 plus tris. Keep in mind that that was only touching the floor...

Also as you can see above you can run these from the console in game by dmap option mapname



Rayne@Posted: Fri Sep 03, 2004 11:45 am :
I just starting to think that some options are obsolete.. I remember that alpha build made lightcarve by default, and now the retail version will not..


Now i'm at work, but when I've the game in my hands i'm curious to test how ID compiled his maps.. If they used light carve, or not, how they avoid the dmap aspect that merge contigues brushes etc..



Gabrobot@Posted: Sun Sep 05, 2004 3:19 am :
I can't get the nodeblocksize command to work...it doesn't seem to recognize it, and instead thinks "nodeblocksize" is the name of the map to be compiled. Someone knowlegable on the Splash Damage forums told me about the nodeblocksize command as well, so this greatly puzzles me...



W01f@Posted: Thu Sep 23, 2004 9:42 pm :
I know for a fact that they didn't compile their maps with lightcarve. Just go into "color mode" in any of the maps and it is quite evident. They also didn't do much manual splitting..but that is understandable since they didn't have all the time in the world.

Lightcarve isn't as useful as you would think. It can be good for small maps...rocket arena style or what have you, but for maps as large as all of the doom3 stock maps, they would end up tripling triscounts, and making it run slow everywhere, rather than just areas with lots of lights.

Like I was saying in another topic, lightcarve will split all brushes in the map, even ones that wouldn't need to be split. This will kill the triscounts. You are better off splitting brushes manually, only where you see fit.



Brain Trepaning@Posted: Sat Oct 23, 2004 7:57 am :
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!
BTW and FYI: These BSP Brushes were made in 3ds Max and exported as a MAP, then opened and carved in D3Ed.
Image
Image



Black Dog@Posted: Sat Oct 23, 2004 12:51 pm :
In a scene where polycount is more of a limiting factor (~100K world polys), I suspect lightcarve would not double your FPS. That test map looks awfully like a best-case scenario for lightcarve, with those large unbroken surfaces and sparse large light volumes.



RedWolf@Posted: Sat Oct 23, 2004 4:45 pm :
Quote:
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!


I'd agree I'f you can keep your tris count under the recomended level, but If your already there with the map. Trippling tris count from say 60,000 to 180,000 would be bad. :)



Sebazzz@Posted: Wed Nov 30, 2005 8:32 am :
with nocm you just have no cm compiled



iceheart@Posted: Wed Nov 30, 2005 8:50 am :
http://www.modwiki.net/wiki/Dmap_%28console_command%29



Sebazzz@Posted: Wed Nov 30, 2005 2:51 pm :
Okay. Alle the answers has been anwered then. :D



RedWolf@Posted: Fri Dec 02, 2005 12:32 am :
From iddevnet.com:

Code:
01/14/05    dmap options
glview   Not implemented
v   Print extra information as the map is compiling
draw   Render the level as it's compiling (not sure if this works anymore)
noFlood   Don't 'flood' the level marking outside surfaces invisible
noLightCarve   Don't carve geometry based light volumes (default)
lightCarve   Carve the geometry based on the volume of the lights that touch them
noOpt   Don't optimize (merge and cut) triangles
verboseentities   Print extra information about entities (more so than with just verbose)
noCurves   Don't process patches
noModels   Not implemented
noClipSides   For debugging, don't clip the sides of a brush to other solid parts of the world
noCarve   Don't cut up any surfaces (like adding noFragment to every surface)
shadowOpt <n>   Set the shadow optimize level:
0 - No optimization
1 - SO_MERGE_SURFACES (default)
2 - SO_CULL_O



Rayne@Posted: Mon Aug 30, 2004 2:01 am :
UPDATED: I will include every bsp aspect I collect, to keep infos in one thread. Now i'm triyng to figure out the BSPext stuff..

*EDITOR OPTIONS*
The first thing I enjoyed of the new editor, is that we now have a cool BSP menu with compile options (ala quake3)... I really hate to turn on console and type dmap blablabla, so i use it for compiling purposes... Now, since we have not simply an option, but six commands, i'm trying to figure out what those six options does.

Choosing The first option (BSP) will compile your map with default settings, the same exact thing that writing into console dmap maps/yourmap and the others command will compile your map with extra options... See below for parameters descriptions.. the only thing i have to figure out is what the hell is BSPext on last command


*FULL COMMANDS DESCRIPTION*

I found following parameters in doom.exe and experimented a little.. If you know more about these, let me know.

noCurves: compile your map without process patches. If you'll play your map, patches are not showed.Them are actully invisible but collision is still detected.

lightcarve: will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum (thanks to Black dog)

nodeblocksize: = actually suggested by someone, but i didn't found any trace of it in doom exe

noaas: build your map without calculating aas files for AI

nocm: ???

notjunc: ???

shadowopt: ???

noclipsides: ???

nomodels: ???

verboseentities: ???

noopt: compile your map without merge brushes with contiguos textures (and more? )

noflood: doesn't perform the "flood" process so your map won't leak even if entities can reach the void (usefull to use like a sort of "region" tool)



HOW TO ADD OPTIONS IN BSP MENU

There are 2 methods to add your custom options in BSP menu, one is achieved in Radiant, and one is achieved by manually edit your radiant project file (doom.qe4). I prefer edit the file manually cause the radiant feature is a little buggish.


1) Make sure that your doom.qe4 file is placed in the right folder, the BASE folder. Something like "doom3\base\doom.qe4 "


2) open your doom.qe4 in a textpad.. you can see something like that

{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""

"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Your project settings.. The bold strings, are the options that are present in the BSP menu of radiant.. Notice that there are two sets of quotes, the first one contain the actual compile options and the second one is empty


3) now you can insert your new line using this syntax

"bsp command1 command2 command3" ""

Example:

if you want a compile session that will not process curves and don't perform the "flood" process, you can add

"bsp nocurves noflood" ""

and have something like this new one


Quote:
{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves noflood" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""
"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Now you have a new option in the BSP menu of radiant named "bsp nocurves noflood" that works perfectly (please refer above in this thread for options details)



Black Dog@Posted: Mon Aug 30, 2004 10:26 am :
I get the impression there are plenty of options. For example, -nodeblocksize <n>. I don't know what any of them are though.



Black Dog@Posted: Wed Sep 01, 2004 9:10 am :
I just remembered another one: -lightcarve, which will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum. Not good with many small lights though.



Rayne@Posted: Wed Sep 01, 2004 10:53 am :
Ops!



Rayne@Posted: Thu Sep 02, 2004 4:13 pm :
Few updates!



Black Dog@Posted: Thu Sep 02, 2004 5:28 pm :
Good call on making this thread, very useful reference. I'll make sure to add more stuff if I stumble across it.

By the way, I believe -nodeblocksize controls the size of the chunks the BSP process carves the level into. In other words, your level space will be split into peices of size: nodeblocksize regardless of geometry, then cut up further by any structural stuff. I could easily be wrong on this though.

It would be useful if you're making a huge outdoor level and are running out of memory on compiles - up the -nodeblocksize to 4096 or so (default is 1024) and you can compile a much bigger level by keeping the number of created leaves down.



Black Dog@Posted: Thu Sep 02, 2004 6:17 pm :
Oh yeah, I should note: I picked these up from other people. I haven't tried them. Hope they work. :)



Rayne@Posted: Fri Sep 03, 2004 12:29 am :
Another small update :wink:



RedWolf@Posted: Fri Sep 03, 2004 3:52 am :
Many thanks Rayne, and anymore you can dig up would be great. :mrgreen:


EDIT: "noopt"

Quote:
dmap noopt t
---- dmap ----
noOptimize = true
--- LoadDMapFile ---


Ran a small test map (hollowed cube) noopt means no optimize, and its fairly obvious that it doesn't. On a simple map of normaly about 115 tris (from r_showprimitives) it becomes 175 tris. However, when I did a map with about a175 tris to begin with after noopt it ended up more then doubleing at 380 tris. On a large map this would be very bad.

lightcarve seems to work exactly as avertized, but probably would add a lot of tris aswell on a large map (added about 60 tris to the 114 tris map). In the same map above, I added 4 small lights even placed only touching the floor (50 50 50) only the radous of the light was colored red, everything else was black so it works really well. Also I tried noopt lightcarve, and got 380 plus tris. Keep in mind that that was only touching the floor...

Also as you can see above you can run these from the console in game by dmap option mapname



Rayne@Posted: Fri Sep 03, 2004 11:45 am :
I just starting to think that some options are obsolete.. I remember that alpha build made lightcarve by default, and now the retail version will not..


Now i'm at work, but when I've the game in my hands i'm curious to test how ID compiled his maps.. If they used light carve, or not, how they avoid the dmap aspect that merge contigues brushes etc..



Gabrobot@Posted: Sun Sep 05, 2004 3:19 am :
I can't get the nodeblocksize command to work...it doesn't seem to recognize it, and instead thinks "nodeblocksize" is the name of the map to be compiled. Someone knowlegable on the Splash Damage forums told me about the nodeblocksize command as well, so this greatly puzzles me...



W01f@Posted: Thu Sep 23, 2004 9:42 pm :
I know for a fact that they didn't compile their maps with lightcarve. Just go into "color mode" in any of the maps and it is quite evident. They also didn't do much manual splitting..but that is understandable since they didn't have all the time in the world.

Lightcarve isn't as useful as you would think. It can be good for small maps...rocket arena style or what have you, but for maps as large as all of the doom3 stock maps, they would end up tripling triscounts, and making it run slow everywhere, rather than just areas with lots of lights.

Like I was saying in another topic, lightcarve will split all brushes in the map, even ones that wouldn't need to be split. This will kill the triscounts. You are better off splitting brushes manually, only where you see fit.



Brain Trepaning@Posted: Sat Oct 23, 2004 7:57 am :
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!
BTW and FYI: These BSP Brushes were made in 3ds Max and exported as a MAP, then opened and carved in D3Ed.
Image
Image



Black Dog@Posted: Sat Oct 23, 2004 12:51 pm :
In a scene where polycount is more of a limiting factor (~100K world polys), I suspect lightcarve would not double your FPS. That test map looks awfully like a best-case scenario for lightcarve, with those large unbroken surfaces and sparse large light volumes.



RedWolf@Posted: Sat Oct 23, 2004 4:45 pm :
Quote:
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!


I'd agree I'f you can keep your tris count under the recomended level, but If your already there with the map. Trippling tris count from say 60,000 to 180,000 would be bad. :)



Sebazzz@Posted: Wed Nov 30, 2005 8:32 am :
with nocm you just have no cm compiled



iceheart@Posted: Wed Nov 30, 2005 8:50 am :
http://www.modwiki.net/wiki/Dmap_%28console_command%29



Sebazzz@Posted: Wed Nov 30, 2005 2:51 pm :
Okay. Alle the answers has been anwered then. :D



RedWolf@Posted: Fri Dec 02, 2005 12:32 am :
From iddevnet.com:

Code:
01/14/05    dmap options
glview   Not implemented
v   Print extra information as the map is compiling
draw   Render the level as it's compiling (not sure if this works anymore)
noFlood   Don't 'flood' the level marking outside surfaces invisible
noLightCarve   Don't carve geometry based light volumes (default)
lightCarve   Carve the geometry based on the volume of the lights that touch them
noOpt   Don't optimize (merge and cut) triangles
verboseentities   Print extra information about entities (more so than with just verbose)
noCurves   Don't process patches
noModels   Not implemented
noClipSides   For debugging, don't clip the sides of a brush to other solid parts of the world
noCarve   Don't cut up any surfaces (like adding noFragment to every surface)
shadowOpt <n>   Set the shadow optimize level:
0 - No optimization
1 - SO_MERGE_SURFACES (default)
2 - SO_CUL



Rayne@Posted: Mon Aug 30, 2004 2:01 am :
UPDATED: I will include every bsp aspect I collect, to keep infos in one thread. Now i'm triyng to figure out the BSPext stuff..

*EDITOR OPTIONS*
The first thing I enjoyed of the new editor, is that we now have a cool BSP menu with compile options (ala quake3)... I really hate to turn on console and type dmap blablabla, so i use it for compiling purposes... Now, since we have not simply an option, but six commands, i'm trying to figure out what those six options does.

Choosing The first option (BSP) will compile your map with default settings, the same exact thing that writing into console dmap maps/yourmap and the others command will compile your map with extra options... See below for parameters descriptions.. the only thing i have to figure out is what the hell is BSPext on last command


*FULL COMMANDS DESCRIPTION*

I found following parameters in doom.exe and experimented a little.. If you know more about these, let me know.

noCurves: compile your map without process patches. If you'll play your map, patches are not showed.Them are actully invisible but collision is still detected.

lightcarve: will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum (thanks to Black dog)

nodeblocksize: = actually suggested by someone, but i didn't found any trace of it in doom exe

noaas: build your map without calculating aas files for AI

nocm: ???

notjunc: ???

shadowopt: ???

noclipsides: ???

nomodels: ???

verboseentities: ???

noopt: compile your map without merge brushes with contiguos textures (and more? )

noflood: doesn't perform the "flood" process so your map won't leak even if entities can reach the void (usefull to use like a sort of "region" tool)



HOW TO ADD OPTIONS IN BSP MENU

There are 2 methods to add your custom options in BSP menu, one is achieved in Radiant, and one is achieved by manually edit your radiant project file (doom.qe4). I prefer edit the file manually cause the radiant feature is a little buggish.


1) Make sure that your doom.qe4 file is placed in the right folder, the BASE folder. Something like "doom3\base\doom.qe4 "


2) open your doom.qe4 in a textpad.. you can see something like that

{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""

"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Your project settings.. The bold strings, are the options that are present in the BSP menu of radiant.. Notice that there are two sets of quotes, the first one contain the actual compile options and the second one is empty


3) now you can insert your new line using this syntax

"bsp command1 command2 command3" ""

Example:

if you want a compile session that will not process curves and don't perform the "flood" process, you can add

"bsp nocurves noflood" ""

and have something like this new one


Quote:
{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves noflood" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""
"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Now you have a new option in the BSP menu of radiant named "bsp nocurves noflood" that works perfectly (please refer above in this thread for options details)



Black Dog@Posted: Mon Aug 30, 2004 10:26 am :
I get the impression there are plenty of options. For example, -nodeblocksize <n>. I don't know what any of them are though.



Black Dog@Posted: Wed Sep 01, 2004 9:10 am :
I just remembered another one: -lightcarve, which will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum. Not good with many small lights though.



Rayne@Posted: Wed Sep 01, 2004 10:53 am :
Ops!



Rayne@Posted: Thu Sep 02, 2004 4:13 pm :
Few updates!



Black Dog@Posted: Thu Sep 02, 2004 5:28 pm :
Good call on making this thread, very useful reference. I'll make sure to add more stuff if I stumble across it.

By the way, I believe -nodeblocksize controls the size of the chunks the BSP process carves the level into. In other words, your level space will be split into peices of size: nodeblocksize regardless of geometry, then cut up further by any structural stuff. I could easily be wrong on this though.

It would be useful if you're making a huge outdoor level and are running out of memory on compiles - up the -nodeblocksize to 4096 or so (default is 1024) and you can compile a much bigger level by keeping the number of created leaves down.



Black Dog@Posted: Thu Sep 02, 2004 6:17 pm :
Oh yeah, I should note: I picked these up from other people. I haven't tried them. Hope they work. :)



Rayne@Posted: Fri Sep 03, 2004 12:29 am :
Another small update :wink:



RedWolf@Posted: Fri Sep 03, 2004 3:52 am :
Many thanks Rayne, and anymore you can dig up would be great. :mrgreen:


EDIT: "noopt"

Quote:
dmap noopt t
---- dmap ----
noOptimize = true
--- LoadDMapFile ---


Ran a small test map (hollowed cube) noopt means no optimize, and its fairly obvious that it doesn't. On a simple map of normaly about 115 tris (from r_showprimitives) it becomes 175 tris. However, when I did a map with about a175 tris to begin with after noopt it ended up more then doubleing at 380 tris. On a large map this would be very bad.

lightcarve seems to work exactly as avertized, but probably would add a lot of tris aswell on a large map (added about 60 tris to the 114 tris map). In the same map above, I added 4 small lights even placed only touching the floor (50 50 50) only the radous of the light was colored red, everything else was black so it works really well. Also I tried noopt lightcarve, and got 380 plus tris. Keep in mind that that was only touching the floor...

Also as you can see above you can run these from the console in game by dmap option mapname



Rayne@Posted: Fri Sep 03, 2004 11:45 am :
I just starting to think that some options are obsolete.. I remember that alpha build made lightcarve by default, and now the retail version will not..


Now i'm at work, but when I've the game in my hands i'm curious to test how ID compiled his maps.. If they used light carve, or not, how they avoid the dmap aspect that merge contigues brushes etc..



Gabrobot@Posted: Sun Sep 05, 2004 3:19 am :
I can't get the nodeblocksize command to work...it doesn't seem to recognize it, and instead thinks "nodeblocksize" is the name of the map to be compiled. Someone knowlegable on the Splash Damage forums told me about the nodeblocksize command as well, so this greatly puzzles me...



W01f@Posted: Thu Sep 23, 2004 9:42 pm :
I know for a fact that they didn't compile their maps with lightcarve. Just go into "color mode" in any of the maps and it is quite evident. They also didn't do much manual splitting..but that is understandable since they didn't have all the time in the world.

Lightcarve isn't as useful as you would think. It can be good for small maps...rocket arena style or what have you, but for maps as large as all of the doom3 stock maps, they would end up tripling triscounts, and making it run slow everywhere, rather than just areas with lots of lights.

Like I was saying in another topic, lightcarve will split all brushes in the map, even ones that wouldn't need to be split. This will kill the triscounts. You are better off splitting brushes manually, only where you see fit.



Brain Trepaning@Posted: Sat Oct 23, 2004 7:57 am :
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!
BTW and FYI: These BSP Brushes were made in 3ds Max and exported as a MAP, then opened and carved in D3Ed.
Image
Image



Black Dog@Posted: Sat Oct 23, 2004 12:51 pm :
In a scene where polycount is more of a limiting factor (~100K world polys), I suspect lightcarve would not double your FPS. That test map looks awfully like a best-case scenario for lightcarve, with those large unbroken surfaces and sparse large light volumes.



RedWolf@Posted: Sat Oct 23, 2004 4:45 pm :
Quote:
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!


I'd agree I'f you can keep your tris count under the recomended level, but If your already there with the map. Trippling tris count from say 60,000 to 180,000 would be bad. :)



Sebazzz@Posted: Wed Nov 30, 2005 8:32 am :
with nocm you just have no cm compiled



iceheart@Posted: Wed Nov 30, 2005 8:50 am :
http://www.modwiki.net/wiki/Dmap_%28console_command%29



Sebazzz@Posted: Wed Nov 30, 2005 2:51 pm :
Okay. Alle the answers has been anwered then. :D



RedWolf@Posted: Fri Dec 02, 2005 12:32 am :
From iddevnet.com:

Code:
01/14/05    dmap options
glview   Not implemented
v   Print extra information as the map is compiling
draw   Render the level as it's compiling (not sure if this works anymore)
noFlood   Don't 'flood' the level marking outside surfaces invisible
noLightCarve   Don't carve geometry based light volumes (default)
lightCarve   Carve the geometry based on the volume of the lights that touch them
noOpt   Don't optimize (merge and cut) triangles
verboseentities   Print extra information about entities (more so than with just verbose)
noCurves   Don't process patches
noModels   Not implemented
noClipSides   For debugging, don't clip the sides of a brush to other solid parts of the world
noCarve   Don't cut up any surfaces (like adding noFragment to every surface)
shadowOpt <n>   Set the shadow optimize level:
0 - No optimization
1 - SO_MERGE_SURFACES (default)
2 - SO_CULL



Rayne@Posted: Mon Aug 30, 2004 2:01 am :
UPDATED: I will include every bsp aspect I collect, to keep infos in one thread. Now i'm triyng to figure out the BSPext stuff..

*EDITOR OPTIONS*
The first thing I enjoyed of the new editor, is that we now have a cool BSP menu with compile options (ala quake3)... I really hate to turn on console and type dmap blablabla, so i use it for compiling purposes... Now, since we have not simply an option, but six commands, i'm trying to figure out what those six options does.

Choosing The first option (BSP) will compile your map with default settings, the same exact thing that writing into console dmap maps/yourmap and the others command will compile your map with extra options... See below for parameters descriptions.. the only thing i have to figure out is what the hell is BSPext on last command


*FULL COMMANDS DESCRIPTION*

I found following parameters in doom.exe and experimented a little.. If you know more about these, let me know.

noCurves: compile your map without process patches. If you'll play your map, patches are not showed.Them are actully invisible but collision is still detected.

lightcarve: will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum (thanks to Black dog)

nodeblocksize: = actually suggested by someone, but i didn't found any trace of it in doom exe

noaas: build your map without calculating aas files for AI

nocm: ???

notjunc: ???

shadowopt: ???

noclipsides: ???

nomodels: ???

verboseentities: ???

noopt: compile your map without merge brushes with contiguos textures (and more? )

noflood: doesn't perform the "flood" process so your map won't leak even if entities can reach the void (usefull to use like a sort of "region" tool)



HOW TO ADD OPTIONS IN BSP MENU

There are 2 methods to add your custom options in BSP menu, one is achieved in Radiant, and one is achieved by manually edit your radiant project file (doom.qe4). I prefer edit the file manually cause the radiant feature is a little buggish.


1) Make sure that your doom.qe4 file is placed in the right folder, the BASE folder. Something like "doom3\base\doom.qe4 "


2) open your doom.qe4 in a textpad.. you can see something like that

{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""

"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Your project settings.. The bold strings, are the options that are present in the BSP menu of radiant.. Notice that there are two sets of quotes, the first one contain the actual compile options and the second one is empty


3) now you can insert your new line using this syntax

"bsp command1 command2 command3" ""

Example:

if you want a compile session that will not process curves and don't perform the "flood" process, you can add

"bsp nocurves noflood" ""

and have something like this new one


Quote:
{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves noflood" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""
"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Now you have a new option in the BSP menu of radiant named "bsp nocurves noflood" that works perfectly (please refer above in this thread for options details)



Black Dog@Posted: Mon Aug 30, 2004 10:26 am :
I get the impression there are plenty of options. For example, -nodeblocksize <n>. I don't know what any of them are though.



Black Dog@Posted: Wed Sep 01, 2004 9:10 am :
I just remembered another one: -lightcarve, which will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum. Not good with many small lights though.



Rayne@Posted: Wed Sep 01, 2004 10:53 am :
Ops!



Rayne@Posted: Thu Sep 02, 2004 4:13 pm :
Few updates!



Black Dog@Posted: Thu Sep 02, 2004 5:28 pm :
Good call on making this thread, very useful reference. I'll make sure to add more stuff if I stumble across it.

By the way, I believe -nodeblocksize controls the size of the chunks the BSP process carves the level into. In other words, your level space will be split into peices of size: nodeblocksize regardless of geometry, then cut up further by any structural stuff. I could easily be wrong on this though.

It would be useful if you're making a huge outdoor level and are running out of memory on compiles - up the -nodeblocksize to 4096 or so (default is 1024) and you can compile a much bigger level by keeping the number of created leaves down.



Black Dog@Posted: Thu Sep 02, 2004 6:17 pm :
Oh yeah, I should note: I picked these up from other people. I haven't tried them. Hope they work. :)



Rayne@Posted: Fri Sep 03, 2004 12:29 am :
Another small update :wink:



RedWolf@Posted: Fri Sep 03, 2004 3:52 am :
Many thanks Rayne, and anymore you can dig up would be great. :mrgreen:


EDIT: "noopt"

Quote:
dmap noopt t
---- dmap ----
noOptimize = true
--- LoadDMapFile ---


Ran a small test map (hollowed cube) noopt means no optimize, and its fairly obvious that it doesn't. On a simple map of normaly about 115 tris (from r_showprimitives) it becomes 175 tris. However, when I did a map with about a175 tris to begin with after noopt it ended up more then doubleing at 380 tris. On a large map this would be very bad.

lightcarve seems to work exactly as avertized, but probably would add a lot of tris aswell on a large map (added about 60 tris to the 114 tris map). In the same map above, I added 4 small lights even placed only touching the floor (50 50 50) only the radous of the light was colored red, everything else was black so it works really well. Also I tried noopt lightcarve, and got 380 plus tris. Keep in mind that that was only touching the floor...

Also as you can see above you can run these from the console in game by dmap option mapname



Rayne@Posted: Fri Sep 03, 2004 11:45 am :
I just starting to think that some options are obsolete.. I remember that alpha build made lightcarve by default, and now the retail version will not..


Now i'm at work, but when I've the game in my hands i'm curious to test how ID compiled his maps.. If they used light carve, or not, how they avoid the dmap aspect that merge contigues brushes etc..



Gabrobot@Posted: Sun Sep 05, 2004 3:19 am :
I can't get the nodeblocksize command to work...it doesn't seem to recognize it, and instead thinks "nodeblocksize" is the name of the map to be compiled. Someone knowlegable on the Splash Damage forums told me about the nodeblocksize command as well, so this greatly puzzles me...



W01f@Posted: Thu Sep 23, 2004 9:42 pm :
I know for a fact that they didn't compile their maps with lightcarve. Just go into "color mode" in any of the maps and it is quite evident. They also didn't do much manual splitting..but that is understandable since they didn't have all the time in the world.

Lightcarve isn't as useful as you would think. It can be good for small maps...rocket arena style or what have you, but for maps as large as all of the doom3 stock maps, they would end up tripling triscounts, and making it run slow everywhere, rather than just areas with lots of lights.

Like I was saying in another topic, lightcarve will split all brushes in the map, even ones that wouldn't need to be split. This will kill the triscounts. You are better off splitting brushes manually, only where you see fit.



Brain Trepaning@Posted: Sat Oct 23, 2004 7:57 am :
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!
BTW and FYI: These BSP Brushes were made in 3ds Max and exported as a MAP, then opened and carved in D3Ed.
Image
Image



Black Dog@Posted: Sat Oct 23, 2004 12:51 pm :
In a scene where polycount is more of a limiting factor (~100K world polys), I suspect lightcarve would not double your FPS. That test map looks awfully like a best-case scenario for lightcarve, with those large unbroken surfaces and sparse large light volumes.



RedWolf@Posted: Sat Oct 23, 2004 4:45 pm :
Quote:
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!


I'd agree I'f you can keep your tris count under the recomended level, but If your already there with the map. Trippling tris count from say 60,000 to 180,000 would be bad. :)



Sebazzz@Posted: Wed Nov 30, 2005 8:32 am :
with nocm you just have no cm compiled



iceheart@Posted: Wed Nov 30, 2005 8:50 am :
http://www.modwiki.net/wiki/Dmap_%28console_command%29



Sebazzz@Posted: Wed Nov 30, 2005 2:51 pm :
Okay. Alle the answers has been anwered then. :D



RedWolf@Posted: Fri Dec 02, 2005 12:32 am :
From iddevnet.com:

Code:
01/14/05    dmap options
glview   Not implemented
v   Print extra information as the map is compiling
draw   Render the level as it's compiling (not sure if this works anymore)
noFlood   Don't 'flood' the level marking outside surfaces invisible
noLightCarve   Don't carve geometry based light volumes (default)
lightCarve   Carve the geometry based on the volume of the lights that touch them
noOpt   Don't optimize (merge and cut) triangles
verboseentities   Print extra information about entities (more so than with just verbose)
noCurves   Don't process patches
noModels   Not implemented
noClipSides   For debugging, don't clip the sides of a brush to other solid parts of the world
noCarve   Don't cut up any surfaces (like adding noFragment to every surface)
shadowOpt <n>   Set the shadow optimize level:
0 - No optimization
1 - SO_MERGE_SURFACES (default)
2 - SO_CULL_OCCLUDED
3 - SO_CLIP_OCCLUDERS
4 - SO_CLIP_SILS
5 - SO_SIL_OPTIMIZE
noTjunc   Don't fix t-juctions. (Triangle optimization won't work without t-junction fixing)
noCM   Don't generate .cm (collision) information
noAAS   Don't generate .aas (pathfinding) information
editorOutput   Pipe status messages to the editor window



Rayne@Posted: Mon Aug 30, 2004 2:01 am :
UPDATED: I will include every bsp aspect I collect, to keep infos in one thread. Now i'm triyng to figure out the BSPext stuff..

*EDITOR OPTIONS*
The first thing I enjoyed of the new editor, is that we now have a cool BSP menu with compile options (ala quake3)... I really hate to turn on console and type dmap blablabla, so i use it for compiling purposes... Now, since we have not simply an option, but six commands, i'm trying to figure out what those six options does.

Choosing The first option (BSP) will compile your map with default settings, the same exact thing that writing into console dmap maps/yourmap and the others command will compile your map with extra options... See below for parameters descriptions.. the only thing i have to figure out is what the hell is BSPext on last command


*FULL COMMANDS DESCRIPTION*

I found following parameters in doom.exe and experimented a little.. If you know more about these, let me know.

noCurves: compile your map without process patches. If you'll play your map, patches are not showed.Them are actully invisible but collision is still detected.

lightcarve: will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum (thanks to Black dog)

nodeblocksize: = actually suggested by someone, but i didn't found any trace of it in doom exe

noaas: build your map without calculating aas files for AI

nocm: ???

notjunc: ???

shadowopt: ???

noclipsides: ???

nomodels: ???

verboseentities: ???

noopt: compile your map without merge brushes with contiguos textures (and more? )

noflood: doesn't perform the "flood" process so your map won't leak even if entities can reach the void (usefull to use like a sort of "region" tool)



HOW TO ADD OPTIONS IN BSP MENU

There are 2 methods to add your custom options in BSP menu, one is achieved in Radiant, and one is achieved by manually edit your radiant project file (doom.qe4). I prefer edit the file manually cause the radiant feature is a little buggish.


1) Make sure that your doom.qe4 file is placed in the right folder, the BASE folder. Something like "doom3\base\doom.qe4 "


2) open your doom.qe4 in a textpad.. you can see something like that

{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""

"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Your project settings.. The bold strings, are the options that are present in the BSP menu of radiant.. Notice that there are two sets of quotes, the first one contain the actual compile options and the second one is empty


3) now you can insert your new line using this syntax

"bsp command1 command2 command3" ""

Example:

if you want a compile session that will not process curves and don't perform the "flood" process, you can add

"bsp nocurves noflood" ""

and have something like this new one


Quote:
{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves noflood" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""
"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Now you have a new option in the BSP menu of radiant named "bsp nocurves noflood" that works perfectly (please refer above in this thread for options details)



Black Dog@Posted: Mon Aug 30, 2004 10:26 am :
I get the impression there are plenty of options. For example, -nodeblocksize <n>. I don't know what any of them are though.



Black Dog@Posted: Wed Sep 01, 2004 9:10 am :
I just remembered another one: -lightcarve, which will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum. Not good with many small lights though.



Rayne@Posted: Wed Sep 01, 2004 10:53 am :
Ops!



Rayne@Posted: Thu Sep 02, 2004 4:13 pm :
Few updates!



Black Dog@Posted: Thu Sep 02, 2004 5:28 pm :
Good call on making this thread, very useful reference. I'll make sure to add more stuff if I stumble across it.

By the way, I believe -nodeblocksize controls the size of the chunks the BSP process carves the level into. In other words, your level space will be split into peices of size: nodeblocksize regardless of geometry, then cut up further by any structural stuff. I could easily be wrong on this though.

It would be useful if you're making a huge outdoor level and are running out of memory on compiles - up the -nodeblocksize to 4096 or so (default is 1024) and you can compile a much bigger level by keeping the number of created leaves down.



Black Dog@Posted: Thu Sep 02, 2004 6:17 pm :
Oh yeah, I should note: I picked these up from other people. I haven't tried them. Hope they work. :)



Rayne@Posted: Fri Sep 03, 2004 12:29 am :
Another small update :wink:



RedWolf@Posted: Fri Sep 03, 2004 3:52 am :
Many thanks Rayne, and anymore you can dig up would be great. :mrgreen:


EDIT: "noopt"

Quote:
dmap noopt t
---- dmap ----
noOptimize = true
--- LoadDMapFile ---


Ran a small test map (hollowed cube) noopt means no optimize, and its fairly obvious that it doesn't. On a simple map of normaly about 115 tris (from r_showprimitives) it becomes 175 tris. However, when I did a map with about a175 tris to begin with after noopt it ended up more then doubleing at 380 tris. On a large map this would be very bad.

lightcarve seems to work exactly as avertized, but probably would add a lot of tris aswell on a large map (added about 60 tris to the 114 tris map). In the same map above, I added 4 small lights even placed only touching the floor (50 50 50) only the radous of the light was colored red, everything else was black so it works really well. Also I tried noopt lightcarve, and got 380 plus tris. Keep in mind that that was only touching the floor...

Also as you can see above you can run these from the console in game by dmap option mapname



Rayne@Posted: Fri Sep 03, 2004 11:45 am :
I just starting to think that some options are obsolete.. I remember that alpha build made lightcarve by default, and now the retail version will not..


Now i'm at work, but when I've the game in my hands i'm curious to test how ID compiled his maps.. If they used light carve, or not, how they avoid the dmap aspect that merge contigues brushes etc..



Gabrobot@Posted: Sun Sep 05, 2004 3:19 am :
I can't get the nodeblocksize command to work...it doesn't seem to recognize it, and instead thinks "nodeblocksize" is the name of the map to be compiled. Someone knowlegable on the Splash Damage forums told me about the nodeblocksize command as well, so this greatly puzzles me...



W01f@Posted: Thu Sep 23, 2004 9:42 pm :
I know for a fact that they didn't compile their maps with lightcarve. Just go into "color mode" in any of the maps and it is quite evident. They also didn't do much manual splitting..but that is understandable since they didn't have all the time in the world.

Lightcarve isn't as useful as you would think. It can be good for small maps...rocket arena style or what have you, but for maps as large as all of the doom3 stock maps, they would end up tripling triscounts, and making it run slow everywhere, rather than just areas with lots of lights.

Like I was saying in another topic, lightcarve will split all brushes in the map, even ones that wouldn't need to be split. This will kill the triscounts. You are better off splitting brushes manually, only where you see fit.



Brain Trepaning@Posted: Sat Oct 23, 2004 7:57 am :
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!
BTW and FYI: These BSP Brushes were made in 3ds Max and exported as a MAP, then opened and carved in D3Ed.
Image
Image



Black Dog@Posted: Sat Oct 23, 2004 12:51 pm :
In a scene where polycount is more of a limiting factor (~100K world polys), I suspect lightcarve would not double your FPS. That test map looks awfully like a best-case scenario for lightcarve, with those large unbroken surfaces and sparse large light volumes.



RedWolf@Posted: Sat Oct 23, 2004 4:45 pm :
Quote:
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!


I'd agree I'f you can keep your tris count under the recomended level, but If your already there with the map. Trippling tris count from say 60,000 to 180,000 would be bad. :)



Sebazzz@Posted: Wed Nov 30, 2005 8:32 am :
with nocm you just have no cm compiled



iceheart@Posted: Wed Nov 30, 2005 8:50 am :
http://www.modwiki.net/wiki/Dmap_%28console_command%29



Sebazzz@Posted: Wed Nov 30, 2005 2:51 pm :
Okay. Alle the answers has been anwered then. :D



RedWolf@Posted: Fri Dec 02, 2005 12:32 am :
From iddevnet.com:

Code:
01/14/05    dmap options
glview   Not implemented
v   Print extra information as the map is compiling
draw   Render the level as it's compiling (not sure if this works anymore)
noFlood   Don't 'flood' the level marking outside surfaces invisible
noLightCarve   Don't carve geometry based light volumes (default)
lightCarve   Carve the geometry based on the volume of the lights that touch them
noOpt   Don't optimize (merge and cut) triangles
verboseentities   Print extra information about entities (more so than with just verbose)
noCurves   Don't process patches
noModels   Not implemented
noClipSides   For debugging, don't clip the sides of a brush to other solid parts of the world
noCarve   Don't cut up any surfaces (like adding noFragment to every surface)
shadowOpt <n>   Set the shadow optimize level:
0 - No optimization
1 - SO_MERGE_SURFACES (default)
2 - SO_CULL_OCCLUDED
3 - SO_CLIP_OCCLUDERS
4 - SO_CLIP_SILS
5 - SO_SIL_OPTIMIZE
noTjunc   Don't fix t-juctions. (Triangle optimization won't work without t-junction fixing)
noCM   Don't generate .cm (collision) information
noAAS   Don't generate .aas (pathfinding) information
editorOutput   Pipe status messages to the editor window



Rayne@Posted: Mon Aug 30, 2004 2:01 am :
UPDATED: I will include every bsp aspect I collect, to keep infos in one thread. Now i'm triyng to figure out the BSPext stuff..

*EDITOR OPTIONS*
The first thing I enjoyed of the new editor, is that we now have a cool BSP menu with compile options (ala quake3)... I really hate to turn on console and type dmap blablabla, so i use it for compiling purposes... Now, since we have not simply an option, but six commands, i'm trying to figure out what those six options does.

Choosing The first option (BSP) will compile your map with default settings, the same exact thing that writing into console dmap maps/yourmap and the others command will compile your map with extra options... See below for parameters descriptions.. the only thing i have to figure out is what the hell is BSPext on last command


*FULL COMMANDS DESCRIPTION*

I found following parameters in doom.exe and experimented a little.. If you know more about these, let me know.

noCurves: compile your map without process patches. If you'll play your map, patches are not showed.Them are actully invisible but collision is still detected.

lightcarve: will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum (thanks to Black dog)

nodeblocksize: = actually suggested by someone, but i didn't found any trace of it in doom exe

noaas: build your map without calculating aas files for AI

nocm: ???

notjunc: ???

shadowopt: ???

noclipsides: ???

nomodels: ???

verboseentities: ???

noopt: compile your map without merge brushes with contiguos textures (and more? )

noflood: doesn't perform the "flood" process so your map won't leak even if entities can reach the void (usefull to use like a sort of "region" tool)



HOW TO ADD OPTIONS IN BSP MENU

There are 2 methods to add your custom options in BSP menu, one is achieved in Radiant, and one is achieved by manually edit your radiant project file (doom.qe4). I prefer edit the file manually cause the radiant feature is a little buggish.


1) Make sure that your doom.qe4 file is placed in the right folder, the BASE folder. Something like "doom3\base\doom.qe4 "


2) open your doom.qe4 in a textpad.. you can see something like that

{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""

"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Your project settings.. The bold strings, are the options that are present in the BSP menu of radiant.. Notice that there are two sets of quotes, the first one contain the actual compile options and the second one is empty


3) now you can insert your new line using this syntax

"bsp command1 command2 command3" ""

Example:

if you want a compile session that will not process curves and don't perform the "flood" process, you can add

"bsp nocurves noflood" ""

and have something like this new one


Quote:
{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves noflood" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""
"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Now you have a new option in the BSP menu of radiant named "bsp nocurves noflood" that works perfectly (please refer above in this thread for options details)



Black Dog@Posted: Mon Aug 30, 2004 10:26 am :
I get the impression there are plenty of options. For example, -nodeblocksize <n>. I don't know what any of them are though.



Black Dog@Posted: Wed Sep 01, 2004 9:10 am :
I just remembered another one: -lightcarve, which will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum. Not good with many small lights though.



Rayne@Posted: Wed Sep 01, 2004 10:53 am :
Ops!



Rayne@Posted: Thu Sep 02, 2004 4:13 pm :
Few updates!



Black Dog@Posted: Thu Sep 02, 2004 5:28 pm :
Good call on making this thread, very useful reference. I'll make sure to add more stuff if I stumble across it.

By the way, I believe -nodeblocksize controls the size of the chunks the BSP process carves the level into. In other words, your level space will be split into peices of size: nodeblocksize regardless of geometry, then cut up further by any structural stuff. I could easily be wrong on this though.

It would be useful if you're making a huge outdoor level and are running out of memory on compiles - up the -nodeblocksize to 4096 or so (default is 1024) and you can compile a much bigger level by keeping the number of created leaves down.



Black Dog@Posted: Thu Sep 02, 2004 6:17 pm :
Oh yeah, I should note: I picked these up from other people. I haven't tried them. Hope they work. :)



Rayne@Posted: Fri Sep 03, 2004 12:29 am :
Another small update :wink:



RedWolf@Posted: Fri Sep 03, 2004 3:52 am :
Many thanks Rayne, and anymore you can dig up would be great. :mrgreen:


EDIT: "noopt"

Quote:
dmap noopt t
---- dmap ----
noOptimize = true
--- LoadDMapFile ---


Ran a small test map (hollowed cube) noopt means no optimize, and its fairly obvious that it doesn't. On a simple map of normaly about 115 tris (from r_showprimitives) it becomes 175 tris. However, when I did a map with about a175 tris to begin with after noopt it ended up more then doubleing at 380 tris. On a large map this would be very bad.

lightcarve seems to work exactly as avertized, but probably would add a lot of tris aswell on a large map (added about 60 tris to the 114 tris map). In the same map above, I added 4 small lights even placed only touching the floor (50 50 50) only the radous of the light was colored red, everything else was black so it works really well. Also I tried noopt lightcarve, and got 380 plus tris. Keep in mind that that was only touching the floor...

Also as you can see above you can run these from the console in game by dmap option mapname



Rayne@Posted: Fri Sep 03, 2004 11:45 am :
I just starting to think that some options are obsolete.. I remember that alpha build made lightcarve by default, and now the retail version will not..


Now i'm at work, but when I've the game in my hands i'm curious to test how ID compiled his maps.. If they used light carve, or not, how they avoid the dmap aspect that merge contigues brushes etc..



Gabrobot@Posted: Sun Sep 05, 2004 3:19 am :
I can't get the nodeblocksize command to work...it doesn't seem to recognize it, and instead thinks "nodeblocksize" is the name of the map to be compiled. Someone knowlegable on the Splash Damage forums told me about the nodeblocksize command as well, so this greatly puzzles me...



W01f@Posted: Thu Sep 23, 2004 9:42 pm :
I know for a fact that they didn't compile their maps with lightcarve. Just go into "color mode" in any of the maps and it is quite evident. They also didn't do much manual splitting..but that is understandable since they didn't have all the time in the world.

Lightcarve isn't as useful as you would think. It can be good for small maps...rocket arena style or what have you, but for maps as large as all of the doom3 stock maps, they would end up tripling triscounts, and making it run slow everywhere, rather than just areas with lots of lights.

Like I was saying in another topic, lightcarve will split all brushes in the map, even ones that wouldn't need to be split. This will kill the triscounts. You are better off splitting brushes manually, only where you see fit.



Brain Trepaning@Posted: Sat Oct 23, 2004 7:57 am :
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!
BTW and FYI: These BSP Brushes were made in 3ds Max and exported as a MAP, then opened and carved in D3Ed.
Image
Image



Black Dog@Posted: Sat Oct 23, 2004 12:51 pm :
In a scene where polycount is more of a limiting factor (~100K world polys), I suspect lightcarve would not double your FPS. That test map looks awfully like a best-case scenario for lightcarve, with those large unbroken surfaces and sparse large light volumes.



RedWolf@Posted: Sat Oct 23, 2004 4:45 pm :
Quote:
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!


I'd agree I'f you can keep your tris count under the recomended level, but If your already there with the map. Trippling tris count from say 60,000 to 180,000 would be bad. :)



Sebazzz@Posted: Wed Nov 30, 2005 8:32 am :
with nocm you just have no cm compiled



iceheart@Posted: Wed Nov 30, 2005 8:50 am :
http://www.modwiki.net/wiki/Dmap_%28console_command%29



Sebazzz@Posted: Wed Nov 30, 2005 2:51 pm :
Okay. Alle the answers has been anwered then. :D



RedWolf@Posted: Fri Dec 02, 2005 12:32 am :
From iddevnet.com:

Code:
01/14/05    dmap options
glview   Not implemented
v   Print extra information as the map is compiling
draw   Render the level as it's compiling (not sure if this works anymore)
noFlood   Don't 'flood' the level marking outside surfaces invisible
noLightCarve   Don't carve geometry based light volumes (default)
lightCarve   Carve the geometry based on the volume of the lights that touch them
noOpt   Don't optimize (merge and cut) triangles
verboseentities   Print extra information about entities (more so than with just verbose)
noCurves   Don't process patches
noModels   Not implemented
noClipSides   For debugging, don't clip the sides of a brush to other solid parts of the world
noCarve   Don't cut up any surfaces (like adding noFragment to every surface)
shadowOpt <n>   Set the shadow optimize level:
0 - No optimization
1 - SO_MERGE_SURFACES (default)
2 - SO_CUL



Rayne@Posted: Mon Aug 30, 2004 2:01 am :
UPDATED: I will include every bsp aspect I collect, to keep infos in one thread. Now i'm triyng to figure out the BSPext stuff..

*EDITOR OPTIONS*
The first thing I enjoyed of the new editor, is that we now have a cool BSP menu with compile options (ala quake3)... I really hate to turn on console and type dmap blablabla, so i use it for compiling purposes... Now, since we have not simply an option, but six commands, i'm trying to figure out what those six options does.

Choosing The first option (BSP) will compile your map with default settings, the same exact thing that writing into console dmap maps/yourmap and the others command will compile your map with extra options... See below for parameters descriptions.. the only thing i have to figure out is what the hell is BSPext on last command


*FULL COMMANDS DESCRIPTION*

I found following parameters in doom.exe and experimented a little.. If you know more about these, let me know.

noCurves: compile your map without process patches. If you'll play your map, patches are not showed.Them are actully invisible but collision is still detected.

lightcarve: will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum (thanks to Black dog)

nodeblocksize: = actually suggested by someone, but i didn't found any trace of it in doom exe

noaas: build your map without calculating aas files for AI

nocm: ???

notjunc: ???

shadowopt: ???

noclipsides: ???

nomodels: ???

verboseentities: ???

noopt: compile your map without merge brushes with contiguos textures (and more? )

noflood: doesn't perform the "flood" process so your map won't leak even if entities can reach the void (usefull to use like a sort of "region" tool)



HOW TO ADD OPTIONS IN BSP MENU

There are 2 methods to add your custom options in BSP menu, one is achieved in Radiant, and one is achieved by manually edit your radiant project file (doom.qe4). I prefer edit the file manually cause the radiant feature is a little buggish.


1) Make sure that your doom.qe4 file is placed in the right folder, the BASE folder. Something like "doom3\base\doom.qe4 "


2) open your doom.qe4 in a textpad.. you can see something like that

{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""

"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Your project settings.. The bold strings, are the options that are present in the BSP menu of radiant.. Notice that there are two sets of quotes, the first one contain the actual compile options and the second one is empty


3) now you can insert your new line using this syntax

"bsp command1 command2 command3" ""

Example:

if you want a compile session that will not process curves and don't perform the "flood" process, you can add

"bsp nocurves noflood" ""

and have something like this new one


Quote:
{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves noflood" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""
"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Now you have a new option in the BSP menu of radiant named "bsp nocurves noflood" that works perfectly (please refer above in this thread for options details)



Black Dog@Posted: Mon Aug 30, 2004 10:26 am :
I get the impression there are plenty of options. For example, -nodeblocksize <n>. I don't know what any of them are though.



Black Dog@Posted: Wed Sep 01, 2004 9:10 am :
I just remembered another one: -lightcarve, which will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum. Not good with many small lights though.



Rayne@Posted: Wed Sep 01, 2004 10:53 am :
Ops!



Rayne@Posted: Thu Sep 02, 2004 4:13 pm :
Few updates!



Black Dog@Posted: Thu Sep 02, 2004 5:28 pm :
Good call on making this thread, very useful reference. I'll make sure to add more stuff if I stumble across it.

By the way, I believe -nodeblocksize controls the size of the chunks the BSP process carves the level into. In other words, your level space will be split into peices of size: nodeblocksize regardless of geometry, then cut up further by any structural stuff. I could easily be wrong on this though.

It would be useful if you're making a huge outdoor level and are running out of memory on compiles - up the -nodeblocksize to 4096 or so (default is 1024) and you can compile a much bigger level by keeping the number of created leaves down.



Black Dog@Posted: Thu Sep 02, 2004 6:17 pm :
Oh yeah, I should note: I picked these up from other people. I haven't tried them. Hope they work. :)



Rayne@Posted: Fri Sep 03, 2004 12:29 am :
Another small update :wink:



RedWolf@Posted: Fri Sep 03, 2004 3:52 am :
Many thanks Rayne, and anymore you can dig up would be great. :mrgreen:


EDIT: "noopt"

Quote:
dmap noopt t
---- dmap ----
noOptimize = true
--- LoadDMapFile ---


Ran a small test map (hollowed cube) noopt means no optimize, and its fairly obvious that it doesn't. On a simple map of normaly about 115 tris (from r_showprimitives) it becomes 175 tris. However, when I did a map with about a175 tris to begin with after noopt it ended up more then doubleing at 380 tris. On a large map this would be very bad.

lightcarve seems to work exactly as avertized, but probably would add a lot of tris aswell on a large map (added about 60 tris to the 114 tris map). In the same map above, I added 4 small lights even placed only touching the floor (50 50 50) only the radous of the light was colored red, everything else was black so it works really well. Also I tried noopt lightcarve, and got 380 plus tris. Keep in mind that that was only touching the floor...

Also as you can see above you can run these from the console in game by dmap option mapname



Rayne@Posted: Fri Sep 03, 2004 11:45 am :
I just starting to think that some options are obsolete.. I remember that alpha build made lightcarve by default, and now the retail version will not..


Now i'm at work, but when I've the game in my hands i'm curious to test how ID compiled his maps.. If they used light carve, or not, how they avoid the dmap aspect that merge contigues brushes etc..



Gabrobot@Posted: Sun Sep 05, 2004 3:19 am :
I can't get the nodeblocksize command to work...it doesn't seem to recognize it, and instead thinks "nodeblocksize" is the name of the map to be compiled. Someone knowlegable on the Splash Damage forums told me about the nodeblocksize command as well, so this greatly puzzles me...



W01f@Posted: Thu Sep 23, 2004 9:42 pm :
I know for a fact that they didn't compile their maps with lightcarve. Just go into "color mode" in any of the maps and it is quite evident. They also didn't do much manual splitting..but that is understandable since they didn't have all the time in the world.

Lightcarve isn't as useful as you would think. It can be good for small maps...rocket arena style or what have you, but for maps as large as all of the doom3 stock maps, they would end up tripling triscounts, and making it run slow everywhere, rather than just areas with lots of lights.

Like I was saying in another topic, lightcarve will split all brushes in the map, even ones that wouldn't need to be split. This will kill the triscounts. You are better off splitting brushes manually, only where you see fit.



Brain Trepaning@Posted: Sat Oct 23, 2004 7:57 am :
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!
BTW and FYI: These BSP Brushes were made in 3ds Max and exported as a MAP, then opened and carved in D3Ed.
Image
Image



Black Dog@Posted: Sat Oct 23, 2004 12:51 pm :
In a scene where polycount is more of a limiting factor (~100K world polys), I suspect lightcarve would not double your FPS. That test map looks awfully like a best-case scenario for lightcarve, with those large unbroken surfaces and sparse large light volumes.



RedWolf@Posted: Sat Oct 23, 2004 4:45 pm :
Quote:
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!


I'd agree I'f you can keep your tris count under the recomended level, but If your already there with the map. Trippling tris count from say 60,000 to 180,000 would be bad. :)



Sebazzz@Posted: Wed Nov 30, 2005 8:32 am :
with nocm you just have no cm compiled



iceheart@Posted: Wed Nov 30, 2005 8:50 am :
http://www.modwiki.net/wiki/Dmap_%28console_command%29



Sebazzz@Posted: Wed Nov 30, 2005 2:51 pm :
Okay. Alle the answers has been anwered then. :D



RedWolf@Posted: Fri Dec 02, 2005 12:32 am :
From iddevnet.com:

Code:
01/14/05    dmap options
glview   Not implemented
v   Print extra information as the map is compiling
draw   Render the level as it's compiling (not sure if this works anymore)
noFlood   Don't 'flood' the level marking outside surfaces invisible
noLightCarve   Don't carve geometry based light volumes (default)
lightCarve   Carve the geometry based on the volume of the lights that touch them
noOpt   Don't optimize (merge and cut) triangles
verboseentities   Print extra information about entities (more so than with just verbose)
noCurves   Don't process patches
noModels   Not implemented
noClipSides   For debugging, don't clip the sides of a brush to other solid parts of the world
noCarve   Don't cut up any surfaces (like adding noFragment to every surface)
shadowOpt <n>   Set the shadow optimize level:
0 - No optimization
1 - SO_MERGE_SURFACES (default)
2 - SO_CULL



Rayne@Posted: Mon Aug 30, 2004 2:01 am :
UPDATED: I will include every bsp aspect I collect, to keep infos in one thread. Now i'm triyng to figure out the BSPext stuff..

*EDITOR OPTIONS*
The first thing I enjoyed of the new editor, is that we now have a cool BSP menu with compile options (ala quake3)... I really hate to turn on console and type dmap blablabla, so i use it for compiling purposes... Now, since we have not simply an option, but six commands, i'm trying to figure out what those six options does.

Choosing The first option (BSP) will compile your map with default settings, the same exact thing that writing into console dmap maps/yourmap and the others command will compile your map with extra options... See below for parameters descriptions.. the only thing i have to figure out is what the hell is BSPext on last command


*FULL COMMANDS DESCRIPTION*

I found following parameters in doom.exe and experimented a little.. If you know more about these, let me know.

noCurves: compile your map without process patches. If you'll play your map, patches are not showed.Them are actully invisible but collision is still detected.

lightcarve: will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum (thanks to Black dog)

nodeblocksize: = actually suggested by someone, but i didn't found any trace of it in doom exe

noaas: build your map without calculating aas files for AI

nocm: ???

notjunc: ???

shadowopt: ???

noclipsides: ???

nomodels: ???

verboseentities: ???

noopt: compile your map without merge brushes with contiguos textures (and more? )

noflood: doesn't perform the "flood" process so your map won't leak even if entities can reach the void (usefull to use like a sort of "region" tool)



HOW TO ADD OPTIONS IN BSP MENU

There are 2 methods to add your custom options in BSP menu, one is achieved in Radiant, and one is achieved by manually edit your radiant project file (doom.qe4). I prefer edit the file manually cause the radiant feature is a little buggish.


1) Make sure that your doom.qe4 file is placed in the right folder, the BASE folder. Something like "doom3\base\doom.qe4 "


2) open your doom.qe4 in a textpad.. you can see something like that

{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""

"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Your project settings.. The bold strings, are the options that are present in the BSP menu of radiant.. Notice that there are two sets of quotes, the first one contain the actual compile options and the second one is empty


3) now you can insert your new line using this syntax

"bsp command1 command2 command3" ""

Example:

if you want a compile session that will not process curves and don't perform the "flood" process, you can add

"bsp nocurves noflood" ""

and have something like this new one


Quote:
{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves noflood" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""
"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Now you have a new option in the BSP menu of radiant named "bsp nocurves noflood" that works perfectly (please refer above in this thread for options details)



Black Dog@Posted: Mon Aug 30, 2004 10:26 am :
I get the impression there are plenty of options. For example, -nodeblocksize <n>. I don't know what any of them are though.



Black Dog@Posted: Wed Sep 01, 2004 9:10 am :
I just remembered another one: -lightcarve, which will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum. Not good with many small lights though.



Rayne@Posted: Wed Sep 01, 2004 10:53 am :
Ops!



Rayne@Posted: Thu Sep 02, 2004 4:13 pm :
Few updates!



Black Dog@Posted: Thu Sep 02, 2004 5:28 pm :
Good call on making this thread, very useful reference. I'll make sure to add more stuff if I stumble across it.

By the way, I believe -nodeblocksize controls the size of the chunks the BSP process carves the level into. In other words, your level space will be split into peices of size: nodeblocksize regardless of geometry, then cut up further by any structural stuff. I could easily be wrong on this though.

It would be useful if you're making a huge outdoor level and are running out of memory on compiles - up the -nodeblocksize to 4096 or so (default is 1024) and you can compile a much bigger level by keeping the number of created leaves down.



Black Dog@Posted: Thu Sep 02, 2004 6:17 pm :
Oh yeah, I should note: I picked these up from other people. I haven't tried them. Hope they work. :)



Rayne@Posted: Fri Sep 03, 2004 12:29 am :
Another small update :wink:



RedWolf@Posted: Fri Sep 03, 2004 3:52 am :
Many thanks Rayne, and anymore you can dig up would be great. :mrgreen:


EDIT: "noopt"

Quote:
dmap noopt t
---- dmap ----
noOptimize = true
--- LoadDMapFile ---


Ran a small test map (hollowed cube) noopt means no optimize, and its fairly obvious that it doesn't. On a simple map of normaly about 115 tris (from r_showprimitives) it becomes 175 tris. However, when I did a map with about a175 tris to begin with after noopt it ended up more then doubleing at 380 tris. On a large map this would be very bad.

lightcarve seems to work exactly as avertized, but probably would add a lot of tris aswell on a large map (added about 60 tris to the 114 tris map). In the same map above, I added 4 small lights even placed only touching the floor (50 50 50) only the radous of the light was colored red, everything else was black so it works really well. Also I tried noopt lightcarve, and got 380 plus tris. Keep in mind that that was only touching the floor...

Also as you can see above you can run these from the console in game by dmap option mapname



Rayne@Posted: Fri Sep 03, 2004 11:45 am :
I just starting to think that some options are obsolete.. I remember that alpha build made lightcarve by default, and now the retail version will not..


Now i'm at work, but when I've the game in my hands i'm curious to test how ID compiled his maps.. If they used light carve, or not, how they avoid the dmap aspect that merge contigues brushes etc..



Gabrobot@Posted: Sun Sep 05, 2004 3:19 am :
I can't get the nodeblocksize command to work...it doesn't seem to recognize it, and instead thinks "nodeblocksize" is the name of the map to be compiled. Someone knowlegable on the Splash Damage forums told me about the nodeblocksize command as well, so this greatly puzzles me...



W01f@Posted: Thu Sep 23, 2004 9:42 pm :
I know for a fact that they didn't compile their maps with lightcarve. Just go into "color mode" in any of the maps and it is quite evident. They also didn't do much manual splitting..but that is understandable since they didn't have all the time in the world.

Lightcarve isn't as useful as you would think. It can be good for small maps...rocket arena style or what have you, but for maps as large as all of the doom3 stock maps, they would end up tripling triscounts, and making it run slow everywhere, rather than just areas with lots of lights.

Like I was saying in another topic, lightcarve will split all brushes in the map, even ones that wouldn't need to be split. This will kill the triscounts. You are better off splitting brushes manually, only where you see fit.



Brain Trepaning@Posted: Sat Oct 23, 2004 7:57 am :
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!
BTW and FYI: These BSP Brushes were made in 3ds Max and exported as a MAP, then opened and carved in D3Ed.
Image
Image



Black Dog@Posted: Sat Oct 23, 2004 12:51 pm :
In a scene where polycount is more of a limiting factor (~100K world polys), I suspect lightcarve would not double your FPS. That test map looks awfully like a best-case scenario for lightcarve, with those large unbroken surfaces and sparse large light volumes.



RedWolf@Posted: Sat Oct 23, 2004 4:45 pm :
Quote:
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!


I'd agree I'f you can keep your tris count under the recomended level, but If your already there with the map. Trippling tris count from say 60,000 to 180,000 would be bad. :)



Sebazzz@Posted: Wed Nov 30, 2005 8:32 am :
with nocm you just have no cm compiled



iceheart@Posted: Wed Nov 30, 2005 8:50 am :
http://www.modwiki.net/wiki/Dmap_%28console_command%29



Sebazzz@Posted: Wed Nov 30, 2005 2:51 pm :
Okay. Alle the answers has been anwered then. :D



RedWolf@Posted: Fri Dec 02, 2005 12:32 am :
From iddevnet.com:

Code:
01/14/05    dmap options
glview   Not implemented
v   Print extra information as the map is compiling
draw   Render the level as it's compiling (not sure if this works anymore)
noFlood   Don't 'flood' the level marking outside surfaces invisible
noLightCarve   Don't carve geometry based light volumes (default)
lightCarve   Carve the geometry based on the volume of the lights that touch them
noOpt   Don't optimize (merge and cut) triangles
verboseentities   Print extra information about entities (more so than with just verbose)
noCurves   Don't process patches
noModels   Not implemented
noClipSides   For debugging, don't clip the sides of a brush to other solid parts of the world
noCarve   Don't cut up any surfaces (like adding noFragment to every surface)
shadowOpt <n>   Set the shadow optimize level:
0 - No optimization
1 - SO_MERGE_SURFACES (default)
2 - SO_CULL_OCCLUDED
3 - SO_CLIP_OCCLUDERS
4 - SO_CLIP_SILS
5 - SO_SIL_OPTIMIZE
noTjunc   Don't fix t-juctions. (Triangle optimization won't work without t-junction fixing)
noCM   Don't generate .cm (collision) information
noAAS   Don't generate .aas (pathfinding) information
editorOutput   Pipe status messages to the editor window



Rayne@Posted: Mon Aug 30, 2004 2:01 am :
UPDATED: I will include every bsp aspect I collect, to keep infos in one thread. Now i'm triyng to figure out the BSPext stuff..

*EDITOR OPTIONS*
The first thing I enjoyed of the new editor, is that we now have a cool BSP menu with compile options (ala quake3)... I really hate to turn on console and type dmap blablabla, so i use it for compiling purposes... Now, since we have not simply an option, but six commands, i'm trying to figure out what those six options does.

Choosing The first option (BSP) will compile your map with default settings, the same exact thing that writing into console dmap maps/yourmap and the others command will compile your map with extra options... See below for parameters descriptions.. the only thing i have to figure out is what the hell is BSPext on last command


*FULL COMMANDS DESCRIPTION*

I found following parameters in doom.exe and experimented a little.. If you know more about these, let me know.

noCurves: compile your map without process patches. If you'll play your map, patches are not showed.Them are actully invisible but collision is still detected.

lightcarve: will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum (thanks to Black dog)

nodeblocksize: = actually suggested by someone, but i didn't found any trace of it in doom exe

noaas: build your map without calculating aas files for AI

nocm: ???

notjunc: ???

shadowopt: ???

noclipsides: ???

nomodels: ???

verboseentities: ???

noopt: compile your map without merge brushes with contiguos textures (and more? )

noflood: doesn't perform the "flood" process so your map won't leak even if entities can reach the void (usefull to use like a sort of "region" tool)



HOW TO ADD OPTIONS IN BSP MENU

There are 2 methods to add your custom options in BSP menu, one is achieved in Radiant, and one is achieved by manually edit your radiant project file (doom.qe4). I prefer edit the file manually cause the radiant feature is a little buggish.


1) Make sure that your doom.qe4 file is placed in the right folder, the BASE folder. Something like "doom3\base\doom.qe4 "


2) open your doom.qe4 in a textpad.. you can see something like that

{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""

"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Your project settings.. The bold strings, are the options that are present in the BSP menu of radiant.. Notice that there are two sets of quotes, the first one contain the actual compile options and the second one is empty


3) now you can insert your new line using this syntax

"bsp command1 command2 command3" ""

Example:

if you want a compile session that will not process curves and don't perform the "flood" process, you can add

"bsp nocurves noflood" ""

and have something like this new one


Quote:
{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves noflood" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""
"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Now you have a new option in the BSP menu of radiant named "bsp nocurves noflood" that works perfectly (please refer above in this thread for options details)



Black Dog@Posted: Mon Aug 30, 2004 10:26 am :
I get the impression there are plenty of options. For example, -nodeblocksize <n>. I don't know what any of them are though.



Black Dog@Posted: Wed Sep 01, 2004 9:10 am :
I just remembered another one: -lightcarve, which will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum. Not good with many small lights though.



Rayne@Posted: Wed Sep 01, 2004 10:53 am :
Ops!



Rayne@Posted: Thu Sep 02, 2004 4:13 pm :
Few updates!



Black Dog@Posted: Thu Sep 02, 2004 5:28 pm :
Good call on making this thread, very useful reference. I'll make sure to add more stuff if I stumble across it.

By the way, I believe -nodeblocksize controls the size of the chunks the BSP process carves the level into. In other words, your level space will be split into peices of size: nodeblocksize regardless of geometry, then cut up further by any structural stuff. I could easily be wrong on this though.

It would be useful if you're making a huge outdoor level and are running out of memory on compiles - up the -nodeblocksize to 4096 or so (default is 1024) and you can compile a much bigger level by keeping the number of created leaves down.



Black Dog@Posted: Thu Sep 02, 2004 6:17 pm :
Oh yeah, I should note: I picked these up from other people. I haven't tried them. Hope they work. :)



Rayne@Posted: Fri Sep 03, 2004 12:29 am :
Another small update :wink:



RedWolf@Posted: Fri Sep 03, 2004 3:52 am :
Many thanks Rayne, and anymore you can dig up would be great. :mrgreen:


EDIT: "noopt"

Quote:
dmap noopt t
---- dmap ----
noOptimize = true
--- LoadDMapFile ---


Ran a small test map (hollowed cube) noopt means no optimize, and its fairly obvious that it doesn't. On a simple map of normaly about 115 tris (from r_showprimitives) it becomes 175 tris. However, when I did a map with about a175 tris to begin with after noopt it ended up more then doubleing at 380 tris. On a large map this would be very bad.

lightcarve seems to work exactly as avertized, but probably would add a lot of tris aswell on a large map (added about 60 tris to the 114 tris map). In the same map above, I added 4 small lights even placed only touching the floor (50 50 50) only the radous of the light was colored red, everything else was black so it works really well. Also I tried noopt lightcarve, and got 380 plus tris. Keep in mind that that was only touching the floor...

Also as you can see above you can run these from the console in game by dmap option mapname



Rayne@Posted: Fri Sep 03, 2004 11:45 am :
I just starting to think that some options are obsolete.. I remember that alpha build made lightcarve by default, and now the retail version will not..


Now i'm at work, but when I've the game in my hands i'm curious to test how ID compiled his maps.. If they used light carve, or not, how they avoid the dmap aspect that merge contigues brushes etc..



Gabrobot@Posted: Sun Sep 05, 2004 3:19 am :
I can't get the nodeblocksize command to work...it doesn't seem to recognize it, and instead thinks "nodeblocksize" is the name of the map to be compiled. Someone knowlegable on the Splash Damage forums told me about the nodeblocksize command as well, so this greatly puzzles me...



W01f@Posted: Thu Sep 23, 2004 9:42 pm :
I know for a fact that they didn't compile their maps with lightcarve. Just go into "color mode" in any of the maps and it is quite evident. They also didn't do much manual splitting..but that is understandable since they didn't have all the time in the world.

Lightcarve isn't as useful as you would think. It can be good for small maps...rocket arena style or what have you, but for maps as large as all of the doom3 stock maps, they would end up tripling triscounts, and making it run slow everywhere, rather than just areas with lots of lights.

Like I was saying in another topic, lightcarve will split all brushes in the map, even ones that wouldn't need to be split. This will kill the triscounts. You are better off splitting brushes manually, only where you see fit.



Brain Trepaning@Posted: Sat Oct 23, 2004 7:57 am :
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!
BTW and FYI: These BSP Brushes were made in 3ds Max and exported as a MAP, then opened and carved in D3Ed.
Image
Image



Black Dog@Posted: Sat Oct 23, 2004 12:51 pm :
In a scene where polycount is more of a limiting factor (~100K world polys), I suspect lightcarve would not double your FPS. That test map looks awfully like a best-case scenario for lightcarve, with those large unbroken surfaces and sparse large light volumes.



RedWolf@Posted: Sat Oct 23, 2004 4:45 pm :
Quote:
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!


I'd agree I'f you can keep your tris count under the recomended level, but If your already there with the map. Trippling tris count from say 60,000 to 180,000 would be bad. :)



Sebazzz@Posted: Wed Nov 30, 2005 8:32 am :
with nocm you just have no cm compiled



iceheart@Posted: Wed Nov 30, 2005 8:50 am :
http://www.modwiki.net/wiki/Dmap_%28console_command%29



Sebazzz@Posted: Wed Nov 30, 2005 2:51 pm :
Okay. Alle the answers has been anwered then. :D



RedWolf@Posted: Fri Dec 02, 2005 12:32 am :
From iddevnet.com:

Code:
01/14/05    dmap options
glview   Not implemented
v   Print extra information as the map is compiling
draw   Render the level as it's compiling (not sure if this works anymore)
noFlood   Don't 'flood' the level marking outside surfaces invisible
noLightCarve   Don't carve geometry based light volumes (default)
lightCarve   Carve the geometry based on the volume of the lights that touch them
noOpt   Don't optimize (merge and cut) triangles
verboseentities   Print extra information about entities (more so than with just verbose)
noCurves   Don't process patches
noModels   Not implemented
noClipSides   For debugging, don't clip the sides of a brush to other solid parts of the world
noCarve   Don't cut up any surfaces (like adding noFragment to every surface)
shadowOpt <n>   Set the shadow optimize level:
0 - No optimization
1 - SO_MERGE_SURFACES (default)
2 - SO_CULL



Rayne@Posted: Mon Aug 30, 2004 2:01 am :
UPDATED: I will include every bsp aspect I collect, to keep infos in one thread. Now i'm triyng to figure out the BSPext stuff..

*EDITOR OPTIONS*
The first thing I enjoyed of the new editor, is that we now have a cool BSP menu with compile options (ala quake3)... I really hate to turn on console and type dmap blablabla, so i use it for compiling purposes... Now, since we have not simply an option, but six commands, i'm trying to figure out what those six options does.

Choosing The first option (BSP) will compile your map with default settings, the same exact thing that writing into console dmap maps/yourmap and the others command will compile your map with extra options... See below for parameters descriptions.. the only thing i have to figure out is what the hell is BSPext on last command


*FULL COMMANDS DESCRIPTION*

I found following parameters in doom.exe and experimented a little.. If you know more about these, let me know.

noCurves: compile your map without process patches. If you'll play your map, patches are not showed.Them are actully invisible but collision is still detected.

lightcarve: will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum (thanks to Black dog)

nodeblocksize: = actually suggested by someone, but i didn't found any trace of it in doom exe

noaas: build your map without calculating aas files for AI

nocm: ???

notjunc: ???

shadowopt: ???

noclipsides: ???

nomodels: ???

verboseentities: ???

noopt: compile your map without merge brushes with contiguos textures (and more? )

noflood: doesn't perform the "flood" process so your map won't leak even if entities can reach the void (usefull to use like a sort of "region" tool)



HOW TO ADD OPTIONS IN BSP MENU

There are 2 methods to add your custom options in BSP menu, one is achieved in Radiant, and one is achieved by manually edit your radiant project file (doom.qe4). I prefer edit the file manually cause the radiant feature is a little buggish.


1) Make sure that your doom.qe4 file is placed in the right folder, the BASE folder. Something like "doom3\base\doom.qe4 "


2) open your doom.qe4 in a textpad.. you can see something like that

{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""

"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Your project settings.. The bold strings, are the options that are present in the BSP menu of radiant.. Notice that there are two sets of quotes, the first one contain the actual compile options and the second one is empty


3) now you can insert your new line using this syntax

"bsp command1 command2 command3" ""

Example:

if you want a compile session that will not process curves and don't perform the "flood" process, you can add

"bsp nocurves noflood" ""

and have something like this new one


Quote:
{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves noflood" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""
"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Now you have a new option in the BSP menu of radiant named "bsp nocurves noflood" that works perfectly (please refer above in this thread for options details)



Black Dog@Posted: Mon Aug 30, 2004 10:26 am :
I get the impression there are plenty of options. For example, -nodeblocksize <n>. I don't know what any of them are though.



Black Dog@Posted: Wed Sep 01, 2004 9:10 am :
I just remembered another one: -lightcarve, which will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum. Not good with many small lights though.



Rayne@Posted: Wed Sep 01, 2004 10:53 am :
Ops!



Rayne@Posted: Thu Sep 02, 2004 4:13 pm :
Few updates!



Black Dog@Posted: Thu Sep 02, 2004 5:28 pm :
Good call on making this thread, very useful reference. I'll make sure to add more stuff if I stumble across it.

By the way, I believe -nodeblocksize controls the size of the chunks the BSP process carves the level into. In other words, your level space will be split into peices of size: nodeblocksize regardless of geometry, then cut up further by any structural stuff. I could easily be wrong on this though.

It would be useful if you're making a huge outdoor level and are running out of memory on compiles - up the -nodeblocksize to 4096 or so (default is 1024) and you can compile a much bigger level by keeping the number of created leaves down.



Black Dog@Posted: Thu Sep 02, 2004 6:17 pm :
Oh yeah, I should note: I picked these up from other people. I haven't tried them. Hope they work. :)



Rayne@Posted: Fri Sep 03, 2004 12:29 am :
Another small update :wink:



RedWolf@Posted: Fri Sep 03, 2004 3:52 am :
Many thanks Rayne, and anymore you can dig up would be great. :mrgreen:


EDIT: "noopt"

Quote:
dmap noopt t
---- dmap ----
noOptimize = true
--- LoadDMapFile ---


Ran a small test map (hollowed cube) noopt means no optimize, and its fairly obvious that it doesn't. On a simple map of normaly about 115 tris (from r_showprimitives) it becomes 175 tris. However, when I did a map with about a175 tris to begin with after noopt it ended up more then doubleing at 380 tris. On a large map this would be very bad.

lightcarve seems to work exactly as avertized, but probably would add a lot of tris aswell on a large map (added about 60 tris to the 114 tris map). In the same map above, I added 4 small lights even placed only touching the floor (50 50 50) only the radous of the light was colored red, everything else was black so it works really well. Also I tried noopt lightcarve, and got 380 plus tris. Keep in mind that that was only touching the floor...

Also as you can see above you can run these from the console in game by dmap option mapname



Rayne@Posted: Fri Sep 03, 2004 11:45 am :
I just starting to think that some options are obsolete.. I remember that alpha build made lightcarve by default, and now the retail version will not..


Now i'm at work, but when I've the game in my hands i'm curious to test how ID compiled his maps.. If they used light carve, or not, how they avoid the dmap aspect that merge contigues brushes etc..



Gabrobot@Posted: Sun Sep 05, 2004 3:19 am :
I can't get the nodeblocksize command to work...it doesn't seem to recognize it, and instead thinks "nodeblocksize" is the name of the map to be compiled. Someone knowlegable on the Splash Damage forums told me about the nodeblocksize command as well, so this greatly puzzles me...



W01f@Posted: Thu Sep 23, 2004 9:42 pm :
I know for a fact that they didn't compile their maps with lightcarve. Just go into "color mode" in any of the maps and it is quite evident. They also didn't do much manual splitting..but that is understandable since they didn't have all the time in the world.

Lightcarve isn't as useful as you would think. It can be good for small maps...rocket arena style or what have you, but for maps as large as all of the doom3 stock maps, they would end up tripling triscounts, and making it run slow everywhere, rather than just areas with lots of lights.

Like I was saying in another topic, lightcarve will split all brushes in the map, even ones that wouldn't need to be split. This will kill the triscounts. You are better off splitting brushes manually, only where you see fit.



Brain Trepaning@Posted: Sat Oct 23, 2004 7:57 am :
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!
BTW and FYI: These BSP Brushes were made in 3ds Max and exported as a MAP, then opened and carved in D3Ed.
Image
Image



Black Dog@Posted: Sat Oct 23, 2004 12:51 pm :
In a scene where polycount is more of a limiting factor (~100K world polys), I suspect lightcarve would not double your FPS. That test map looks awfully like a best-case scenario for lightcarve, with those large unbroken surfaces and sparse large light volumes.



RedWolf@Posted: Sat Oct 23, 2004 4:45 pm :
Quote:
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!


I'd agree I'f you can keep your tris count under the recomended level, but If your already there with the map. Trippling tris count from say 60,000 to 180,000 would be bad. :)



Sebazzz@Posted: Wed Nov 30, 2005 8:32 am :
with nocm you just have no cm compiled



iceheart@Posted: Wed Nov 30, 2005 8:50 am :
http://www.modwiki.net/wiki/Dmap_%28console_command%29



Sebazzz@Posted: Wed Nov 30, 2005 2:51 pm :
Okay. Alle the answers has been anwered then. :D



RedWolf@Posted: Fri Dec 02, 2005 12:32 am :
From iddevnet.com:

Code:
01/14/05    dmap options
glview   Not implemented
v   Print extra information as the map is compiling
draw   Render the level as it's compiling (not sure if this works anymore)
noFlood   Don't 'flood' the level marking outside surfaces invisible
noLightCarve   Don't carve geometry based light volumes (default)
lightCarve   Carve the geometry based on the volume of the lights that touch them
noOpt   Don't optimize (merge and cut) triangles
verboseentities   Print extra information about entities (more so than with just verbose)
noCurves   Don't process patches
noModels   Not implemented
noClipSides   For debugging, don't clip the sides of a brush to other solid parts of the world
noCarve   Don't cut up any surfaces (like adding noFragment to every surface)
shadowOpt <n>   Set the shadow optimize level:
0 - No optimization
1 - SO_MERGE_SURFACES (default)
2 - SO_CULL



Rayne@Posted: Mon Aug 30, 2004 2:01 am :
UPDATED: I will include every bsp aspect I collect, to keep infos in one thread. Now i'm triyng to figure out the BSPext stuff..

*EDITOR OPTIONS*
The first thing I enjoyed of the new editor, is that we now have a cool BSP menu with compile options (ala quake3)... I really hate to turn on console and type dmap blablabla, so i use it for compiling purposes... Now, since we have not simply an option, but six commands, i'm trying to figure out what those six options does.

Choosing The first option (BSP) will compile your map with default settings, the same exact thing that writing into console dmap maps/yourmap and the others command will compile your map with extra options... See below for parameters descriptions.. the only thing i have to figure out is what the hell is BSPext on last command


*FULL COMMANDS DESCRIPTION*

I found following parameters in doom.exe and experimented a little.. If you know more about these, let me know.

noCurves: compile your map without process patches. If you'll play your map, patches are not showed.Them are actully invisible but collision is still detected.

lightcarve: will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum (thanks to Black dog)

nodeblocksize: = actually suggested by someone, but i didn't found any trace of it in doom exe

noaas: build your map without calculating aas files for AI

nocm: ???

notjunc: ???

shadowopt: ???

noclipsides: ???

nomodels: ???

verboseentities: ???

noopt: compile your map without merge brushes with contiguos textures (and more? )

noflood: doesn't perform the "flood" process so your map won't leak even if entities can reach the void (usefull to use like a sort of "region" tool)



HOW TO ADD OPTIONS IN BSP MENU

There are 2 methods to add your custom options in BSP menu, one is achieved in Radiant, and one is achieved by manually edit your radiant project file (doom.qe4). I prefer edit the file manually cause the radiant feature is a little buggish.


1) Make sure that your doom.qe4 file is placed in the right folder, the BASE folder. Something like "doom3\base\doom.qe4 "


2) open your doom.qe4 in a textpad.. you can see something like that

{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""

"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Your project settings.. The bold strings, are the options that are present in the BSP menu of radiant.. Notice that there are two sets of quotes, the first one contain the actual compile options and the second one is empty


3) now you can insert your new line using this syntax

"bsp command1 command2 command3" ""

Example:

if you want a compile session that will not process curves and don't perform the "flood" process, you can add

"bsp nocurves noflood" ""

and have something like this new one


Quote:
{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves noflood" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""
"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Now you have a new option in the BSP menu of radiant named "bsp nocurves noflood" that works perfectly (please refer above in this thread for options details)



Black Dog@Posted: Mon Aug 30, 2004 10:26 am :
I get the impression there are plenty of options. For example, -nodeblocksize <n>. I don't know what any of them are though.



Black Dog@Posted: Wed Sep 01, 2004 9:10 am :
I just remembered another one: -lightcarve, which will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum. Not good with many small lights though.



Rayne@Posted: Wed Sep 01, 2004 10:53 am :
Ops!



Rayne@Posted: Thu Sep 02, 2004 4:13 pm :
Few updates!



Black Dog@Posted: Thu Sep 02, 2004 5:28 pm :
Good call on making this thread, very useful reference. I'll make sure to add more stuff if I stumble across it.

By the way, I believe -nodeblocksize controls the size of the chunks the BSP process carves the level into. In other words, your level space will be split into peices of size: nodeblocksize regardless of geometry, then cut up further by any structural stuff. I could easily be wrong on this though.

It would be useful if you're making a huge outdoor level and are running out of memory on compiles - up the -nodeblocksize to 4096 or so (default is 1024) and you can compile a much bigger level by keeping the number of created leaves down.



Black Dog@Posted: Thu Sep 02, 2004 6:17 pm :
Oh yeah, I should note: I picked these up from other people. I haven't tried them. Hope they work. :)



Rayne@Posted: Fri Sep 03, 2004 12:29 am :
Another small update :wink:



RedWolf@Posted: Fri Sep 03, 2004 3:52 am :
Many thanks Rayne, and anymore you can dig up would be great. :mrgreen:


EDIT: "noopt"

Quote:
dmap noopt t
---- dmap ----
noOptimize = true
--- LoadDMapFile ---


Ran a small test map (hollowed cube) noopt means no optimize, and its fairly obvious that it doesn't. On a simple map of normaly about 115 tris (from r_showprimitives) it becomes 175 tris. However, when I did a map with about a175 tris to begin with after noopt it ended up more then doubleing at 380 tris. On a large map this would be very bad.

lightcarve seems to work exactly as avertized, but probably would add a lot of tris aswell on a large map (added about 60 tris to the 114 tris map). In the same map above, I added 4 small lights even placed only touching the floor (50 50 50) only the radous of the light was colored red, everything else was black so it works really well. Also I tried noopt lightcarve, and got 380 plus tris. Keep in mind that that was only touching the floor...

Also as you can see above you can run these from the console in game by dmap option mapname



Rayne@Posted: Fri Sep 03, 2004 11:45 am :
I just starting to think that some options are obsolete.. I remember that alpha build made lightcarve by default, and now the retail version will not..


Now i'm at work, but when I've the game in my hands i'm curious to test how ID compiled his maps.. If they used light carve, or not, how they avoid the dmap aspect that merge contigues brushes etc..



Gabrobot@Posted: Sun Sep 05, 2004 3:19 am :
I can't get the nodeblocksize command to work...it doesn't seem to recognize it, and instead thinks "nodeblocksize" is the name of the map to be compiled. Someone knowlegable on the Splash Damage forums told me about the nodeblocksize command as well, so this greatly puzzles me...



W01f@Posted: Thu Sep 23, 2004 9:42 pm :
I know for a fact that they didn't compile their maps with lightcarve. Just go into "color mode" in any of the maps and it is quite evident. They also didn't do much manual splitting..but that is understandable since they didn't have all the time in the world.

Lightcarve isn't as useful as you would think. It can be good for small maps...rocket arena style or what have you, but for maps as large as all of the doom3 stock maps, they would end up tripling triscounts, and making it run slow everywhere, rather than just areas with lots of lights.

Like I was saying in another topic, lightcarve will split all brushes in the map, even ones that wouldn't need to be split. This will kill the triscounts. You are better off splitting brushes manually, only where you see fit.



Brain Trepaning@Posted: Sat Oct 23, 2004 7:57 am :
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!
BTW and FYI: These BSP Brushes were made in 3ds Max and exported as a MAP, then opened and carved in D3Ed.
Image
Image



Black Dog@Posted: Sat Oct 23, 2004 12:51 pm :
In a scene where polycount is more of a limiting factor (~100K world polys), I suspect lightcarve would not double your FPS. That test map looks awfully like a best-case scenario for lightcarve, with those large unbroken surfaces and sparse large light volumes.



RedWolf@Posted: Sat Oct 23, 2004 4:45 pm :
Quote:
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!


I'd agree I'f you can keep your tris count under the recomended level, but If your already there with the map. Trippling tris count from say 60,000 to 180,000 would be bad. :)



Sebazzz@Posted: Wed Nov 30, 2005 8:32 am :
with nocm you just have no cm compiled



iceheart@Posted: Wed Nov 30, 2005 8:50 am :
http://www.modwiki.net/wiki/Dmap_%28console_command%29



Sebazzz@Posted: Wed Nov 30, 2005 2:51 pm :
Okay. Alle the answers has been anwered then. :D



RedWolf@Posted: Fri Dec 02, 2005 12:32 am :
From iddevnet.com:

Code:
01/14/05    dmap options
glview   Not implemented
v   Print extra information as the map is compiling
draw   Render the level as it's compiling (not sure if this works anymore)
noFlood   Don't 'flood' the level marking outside surfaces invisible
noLightCarve   Don't carve geometry based light volumes (default)
lightCarve   Carve the geometry based on the volume of the lights that touch them
noOpt   Don't optimize (merge and cut) triangles
verboseentities   Print extra information about entities (more so than with just verbose)
noCurves   Don't process patches
noModels   Not implemented
noClipSides   For debugging, don't clip the sides of a brush to other solid parts of the world
noCarve   Don't cut up any surfaces (like adding noFragment to every surface)
shadowOpt <n>   Set the shadow optimize level:
0 - No optimization
1 - SO_MERGE_SURFACES (default)
2 - SO_CULL



Rayne@Posted: Mon Aug 30, 2004 2:01 am :
UPDATED: I will include every bsp aspect I collect, to keep infos in one thread. Now i'm triyng to figure out the BSPext stuff..

*EDITOR OPTIONS*
The first thing I enjoyed of the new editor, is that we now have a cool BSP menu with compile options (ala quake3)... I really hate to turn on console and type dmap blablabla, so i use it for compiling purposes... Now, since we have not simply an option, but six commands, i'm trying to figure out what those six options does.

Choosing The first option (BSP) will compile your map with default settings, the same exact thing that writing into console dmap maps/yourmap and the others command will compile your map with extra options... See below for parameters descriptions.. the only thing i have to figure out is what the hell is BSPext on last command


*FULL COMMANDS DESCRIPTION*

I found following parameters in doom.exe and experimented a little.. If you know more about these, let me know.

noCurves: compile your map without process patches. If you'll play your map, patches are not showed.Them are actully invisible but collision is still detected.

lightcarve: will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum (thanks to Black dog)

nodeblocksize: = actually suggested by someone, but i didn't found any trace of it in doom exe

noaas: build your map without calculating aas files for AI

nocm: ???

notjunc: ???

shadowopt: ???

noclipsides: ???

nomodels: ???

verboseentities: ???

noopt: compile your map without merge brushes with contiguos textures (and more? )

noflood: doesn't perform the "flood" process so your map won't leak even if entities can reach the void (usefull to use like a sort of "region" tool)



HOW TO ADD OPTIONS IN BSP MENU

There are 2 methods to add your custom options in BSP menu, one is achieved in Radiant, and one is achieved by manually edit your radiant project file (doom.qe4). I prefer edit the file manually cause the radiant feature is a little buggish.


1) Make sure that your doom.qe4 file is placed in the right folder, the BASE folder. Something like "doom3\base\doom.qe4 "


2) open your doom.qe4 in a textpad.. you can see something like that

{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""

"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Your project settings.. The bold strings, are the options that are present in the BSP menu of radiant.. Notice that there are two sets of quotes, the first one contain the actual compile options and the second one is empty


3) now you can insert your new line using this syntax

"bsp command1 command2 command3" ""

Example:

if you want a compile session that will not process curves and don't perform the "flood" process, you can add

"bsp nocurves noflood" ""

and have something like this new one


Quote:
{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves noflood" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""
"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Now you have a new option in the BSP menu of radiant named "bsp nocurves noflood" that works perfectly (please refer above in this thread for options details)



Black Dog@Posted: Mon Aug 30, 2004 10:26 am :
I get the impression there are plenty of options. For example, -nodeblocksize <n>. I don't know what any of them are though.



Black Dog@Posted: Wed Sep 01, 2004 9:10 am :
I just remembered another one: -lightcarve, which will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum. Not good with many small lights though.



Rayne@Posted: Wed Sep 01, 2004 10:53 am :
Ops!



Rayne@Posted: Thu Sep 02, 2004 4:13 pm :
Few updates!



Black Dog@Posted: Thu Sep 02, 2004 5:28 pm :
Good call on making this thread, very useful reference. I'll make sure to add more stuff if I stumble across it.

By the way, I believe -nodeblocksize controls the size of the chunks the BSP process carves the level into. In other words, your level space will be split into peices of size: nodeblocksize regardless of geometry, then cut up further by any structural stuff. I could easily be wrong on this though.

It would be useful if you're making a huge outdoor level and are running out of memory on compiles - up the -nodeblocksize to 4096 or so (default is 1024) and you can compile a much bigger level by keeping the number of created leaves down.



Black Dog@Posted: Thu Sep 02, 2004 6:17 pm :
Oh yeah, I should note: I picked these up from other people. I haven't tried them. Hope they work. :)



Rayne@Posted: Fri Sep 03, 2004 12:29 am :
Another small update :wink:



RedWolf@Posted: Fri Sep 03, 2004 3:52 am :
Many thanks Rayne, and anymore you can dig up would be great. :mrgreen:


EDIT: "noopt"

Quote:
dmap noopt t
---- dmap ----
noOptimize = true
--- LoadDMapFile ---


Ran a small test map (hollowed cube) noopt means no optimize, and its fairly obvious that it doesn't. On a simple map of normaly about 115 tris (from r_showprimitives) it becomes 175 tris. However, when I did a map with about a175 tris to begin with after noopt it ended up more then doubleing at 380 tris. On a large map this would be very bad.

lightcarve seems to work exactly as avertized, but probably would add a lot of tris aswell on a large map (added about 60 tris to the 114 tris map). In the same map above, I added 4 small lights even placed only touching the floor (50 50 50) only the radous of the light was colored red, everything else was black so it works really well. Also I tried noopt lightcarve, and got 380 plus tris. Keep in mind that that was only touching the floor...

Also as you can see above you can run these from the console in game by dmap option mapname



Rayne@Posted: Fri Sep 03, 2004 11:45 am :
I just starting to think that some options are obsolete.. I remember that alpha build made lightcarve by default, and now the retail version will not..


Now i'm at work, but when I've the game in my hands i'm curious to test how ID compiled his maps.. If they used light carve, or not, how they avoid the dmap aspect that merge contigues brushes etc..



Gabrobot@Posted: Sun Sep 05, 2004 3:19 am :
I can't get the nodeblocksize command to work...it doesn't seem to recognize it, and instead thinks "nodeblocksize" is the name of the map to be compiled. Someone knowlegable on the Splash Damage forums told me about the nodeblocksize command as well, so this greatly puzzles me...



W01f@Posted: Thu Sep 23, 2004 9:42 pm :
I know for a fact that they didn't compile their maps with lightcarve. Just go into "color mode" in any of the maps and it is quite evident. They also didn't do much manual splitting..but that is understandable since they didn't have all the time in the world.

Lightcarve isn't as useful as you would think. It can be good for small maps...rocket arena style or what have you, but for maps as large as all of the doom3 stock maps, they would end up tripling triscounts, and making it run slow everywhere, rather than just areas with lots of lights.

Like I was saying in another topic, lightcarve will split all brushes in the map, even ones that wouldn't need to be split. This will kill the triscounts. You are better off splitting brushes manually, only where you see fit.



Brain Trepaning@Posted: Sat Oct 23, 2004 7:57 am :
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!
BTW and FYI: These BSP Brushes were made in 3ds Max and exported as a MAP, then opened and carved in D3Ed.
Image
Image



Black Dog@Posted: Sat Oct 23, 2004 12:51 pm :
In a scene where polycount is more of a limiting factor (~100K world polys), I suspect lightcarve would not double your FPS. That test map looks awfully like a best-case scenario for lightcarve, with those large unbroken surfaces and sparse large light volumes.



RedWolf@Posted: Sat Oct 23, 2004 4:45 pm :
Quote:
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!


I'd agree I'f you can keep your tris count under the recomended level, but If your already there with the map. Trippling tris count from say 60,000 to 180,000 would be bad. :)



Sebazzz@Posted: Wed Nov 30, 2005 8:32 am :
with nocm you just have no cm compiled



iceheart@Posted: Wed Nov 30, 2005 8:50 am :
http://www.modwiki.net/wiki/Dmap_%28console_command%29



Sebazzz@Posted: Wed Nov 30, 2005 2:51 pm :
Okay. Alle the answers has been anwered then. :D



RedWolf@Posted: Fri Dec 02, 2005 12:32 am :
From iddevnet.com:

Code:
01/14/05    dmap options
glview   Not implemented
v   Print extra information as the map is compiling
draw   Render the level as it's compiling (not sure if this works anymore)
noFlood   Don't 'flood' the level marking outside surfaces invisible
noLightCarve   Don't carve geometry based light volumes (default)
lightCarve   Carve the geometry based on the volume of the lights that touch them
noOpt   Don't optimize (merge and cut) triangles
verboseentities   Print extra information about entities (more so than with just verbose)
noCurves   Don't process patches
noModels   Not implemented
noClipSides   For debugging, don't clip the sides of a brush to other solid parts of the world
noCarve   Don't cut up any surfaces (like adding noFragment to every surface)
shadowOpt <n>   Set the shadow optimize level:
0 - No optimization
1 - SO_MERGE_SURFACES (default)
2 - SO_CULL_OCCLUDED
3 - SO_CLIP_OCCLUDERS
4 - SO_CLIP_SILS
5 - SO_SIL_OPTIMIZE
noTjunc   Don't fix t-juctions. (Triangle optimization won't work without t-junction fixing)
noCM   Don't generate .cm (collision) information
noAAS   Don't generate .aas (pathfinding) information
editorOutput   Pipe status messages to the editor window



Rayne@Posted: Mon Aug 30, 2004 2:01 am :
UPDATED: I will include every bsp aspect I collect, to keep infos in one thread. Now i'm triyng to figure out the BSPext stuff..

*EDITOR OPTIONS*
The first thing I enjoyed of the new editor, is that we now have a cool BSP menu with compile options (ala quake3)... I really hate to turn on console and type dmap blablabla, so i use it for compiling purposes... Now, since we have not simply an option, but six commands, i'm trying to figure out what those six options does.

Choosing The first option (BSP) will compile your map with default settings, the same exact thing that writing into console dmap maps/yourmap and the others command will compile your map with extra options... See below for parameters descriptions.. the only thing i have to figure out is what the hell is BSPext on last command


*FULL COMMANDS DESCRIPTION*

I found following parameters in doom.exe and experimented a little.. If you know more about these, let me know.

noCurves: compile your map without process patches. If you'll play your map, patches are not showed.Them are actully invisible but collision is still detected.

lightcarve: will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum (thanks to Black dog)

nodeblocksize: = actually suggested by someone, but i didn't found any trace of it in doom exe

noaas: build your map without calculating aas files for AI

nocm: ???

notjunc: ???

shadowopt: ???

noclipsides: ???

nomodels: ???

verboseentities: ???

noopt: compile your map without merge brushes with contiguos textures (and more? )

noflood: doesn't perform the "flood" process so your map won't leak even if entities can reach the void (usefull to use like a sort of "region" tool)



HOW TO ADD OPTIONS IN BSP MENU

There are 2 methods to add your custom options in BSP menu, one is achieved in Radiant, and one is achieved by manually edit your radiant project file (doom.qe4). I prefer edit the file manually cause the radiant feature is a little buggish.


1) Make sure that your doom.qe4 file is placed in the right folder, the BASE folder. Something like "doom3\base\doom.qe4 "


2) open your doom.qe4 in a textpad.. you can see something like that

{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""

"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Your project settings.. The bold strings, are the options that are present in the BSP menu of radiant.. Notice that there are two sets of quotes, the first one contain the actual compile options and the second one is empty


3) now you can insert your new line using this syntax

"bsp command1 command2 command3" ""

Example:

if you want a compile session that will not process curves and don't perform the "flood" process, you can add

"bsp nocurves noflood" ""

and have something like this new one


Quote:
{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves noflood" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""
"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Now you have a new option in the BSP menu of radiant named "bsp nocurves noflood" that works perfectly (please refer above in this thread for options details)



Black Dog@Posted: Mon Aug 30, 2004 10:26 am :
I get the impression there are plenty of options. For example, -nodeblocksize <n>. I don't know what any of them are though.



Black Dog@Posted: Wed Sep 01, 2004 9:10 am :
I just remembered another one: -lightcarve, which will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum. Not good with many small lights though.



Rayne@Posted: Wed Sep 01, 2004 10:53 am :
Ops!



Rayne@Posted: Thu Sep 02, 2004 4:13 pm :
Few updates!



Black Dog@Posted: Thu Sep 02, 2004 5:28 pm :
Good call on making this thread, very useful reference. I'll make sure to add more stuff if I stumble across it.

By the way, I believe -nodeblocksize controls the size of the chunks the BSP process carves the level into. In other words, your level space will be split into peices of size: nodeblocksize regardless of geometry, then cut up further by any structural stuff. I could easily be wrong on this though.

It would be useful if you're making a huge outdoor level and are running out of memory on compiles - up the -nodeblocksize to 4096 or so (default is 1024) and you can compile a much bigger level by keeping the number of created leaves down.



Black Dog@Posted: Thu Sep 02, 2004 6:17 pm :
Oh yeah, I should note: I picked these up from other people. I haven't tried them. Hope they work. :)



Rayne@Posted: Fri Sep 03, 2004 12:29 am :
Another small update :wink:



RedWolf@Posted: Fri Sep 03, 2004 3:52 am :
Many thanks Rayne, and anymore you can dig up would be great. :mrgreen:


EDIT: "noopt"

Quote:
dmap noopt t
---- dmap ----
noOptimize = true
--- LoadDMapFile ---


Ran a small test map (hollowed cube) noopt means no optimize, and its fairly obvious that it doesn't. On a simple map of normaly about 115 tris (from r_showprimitives) it becomes 175 tris. However, when I did a map with about a175 tris to begin with after noopt it ended up more then doubleing at 380 tris. On a large map this would be very bad.

lightcarve seems to work exactly as avertized, but probably would add a lot of tris aswell on a large map (added about 60 tris to the 114 tris map). In the same map above, I added 4 small lights even placed only touching the floor (50 50 50) only the radous of the light was colored red, everything else was black so it works really well. Also I tried noopt lightcarve, and got 380 plus tris. Keep in mind that that was only touching the floor...

Also as you can see above you can run these from the console in game by dmap option mapname



Rayne@Posted: Fri Sep 03, 2004 11:45 am :
I just starting to think that some options are obsolete.. I remember that alpha build made lightcarve by default, and now the retail version will not..


Now i'm at work, but when I've the game in my hands i'm curious to test how ID compiled his maps.. If they used light carve, or not, how they avoid the dmap aspect that merge contigues brushes etc..



Gabrobot@Posted: Sun Sep 05, 2004 3:19 am :
I can't get the nodeblocksize command to work...it doesn't seem to recognize it, and instead thinks "nodeblocksize" is the name of the map to be compiled. Someone knowlegable on the Splash Damage forums told me about the nodeblocksize command as well, so this greatly puzzles me...



W01f@Posted: Thu Sep 23, 2004 9:42 pm :
I know for a fact that they didn't compile their maps with lightcarve. Just go into "color mode" in any of the maps and it is quite evident. They also didn't do much manual splitting..but that is understandable since they didn't have all the time in the world.

Lightcarve isn't as useful as you would think. It can be good for small maps...rocket arena style or what have you, but for maps as large as all of the doom3 stock maps, they would end up tripling triscounts, and making it run slow everywhere, rather than just areas with lots of lights.

Like I was saying in another topic, lightcarve will split all brushes in the map, even ones that wouldn't need to be split. This will kill the triscounts. You are better off splitting brushes manually, only where you see fit.



Brain Trepaning@Posted: Sat Oct 23, 2004 7:57 am :
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!
BTW and FYI: These BSP Brushes were made in 3ds Max and exported as a MAP, then opened and carved in D3Ed.
Image
Image



Black Dog@Posted: Sat Oct 23, 2004 12:51 pm :
In a scene where polycount is more of a limiting factor (~100K world polys), I suspect lightcarve would not double your FPS. That test map looks awfully like a best-case scenario for lightcarve, with those large unbroken surfaces and sparse large light volumes.



RedWolf@Posted: Sat Oct 23, 2004 4:45 pm :
Quote:
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!


I'd agree I'f you can keep your tris count under the recomended level, but If your already there with the map. Trippling tris count from say 60,000 to 180,000 would be bad. :)



Sebazzz@Posted: Wed Nov 30, 2005 8:32 am :
with nocm you just have no cm compiled



iceheart@Posted: Wed Nov 30, 2005 8:50 am :
http://www.modwiki.net/wiki/Dmap_%28console_command%29



Sebazzz@Posted: Wed Nov 30, 2005 2:51 pm :
Okay. Alle the answers has been anwered then. :D



RedWolf@Posted: Fri Dec 02, 2005 12:32 am :
From iddevnet.com:

Code:
01/14/05    dmap options
glview   Not implemented
v   Print extra information as the map is compiling
draw   Render the level as it's compiling (not sure if this works anymore)
noFlood   Don't 'flood' the level marking outside surfaces invisible
noLightCarve   Don't carve geometry based light volumes (default)
lightCarve   Carve the geometry based on the volume of the lights that touch them
noOpt   Don't optimize (merge and cut) triangles
verboseentities   Print extra information about entities (more so than with just verbose)
noCurves   Don't process patches
noModels   Not implemented
noClipSides   For debugging, don't clip the sides of a brush to other solid parts of the world
noCarve   Don't cut up any surfaces (like adding noFragment to every surface)
shadowOpt <n>   Set the shadow optimize level:
0 - No optimization
1 - SO_MERGE_SURFACES (default)
2 - SO_CULL



Rayne@Posted: Mon Aug 30, 2004 2:01 am :
UPDATED: I will include every bsp aspect I collect, to keep infos in one thread. Now i'm triyng to figure out the BSPext stuff..

*EDITOR OPTIONS*
The first thing I enjoyed of the new editor, is that we now have a cool BSP menu with compile options (ala quake3)... I really hate to turn on console and type dmap blablabla, so i use it for compiling purposes... Now, since we have not simply an option, but six commands, i'm trying to figure out what those six options does.

Choosing The first option (BSP) will compile your map with default settings, the same exact thing that writing into console dmap maps/yourmap and the others command will compile your map with extra options... See below for parameters descriptions.. the only thing i have to figure out is what the hell is BSPext on last command


*FULL COMMANDS DESCRIPTION*

I found following parameters in doom.exe and experimented a little.. If you know more about these, let me know.

noCurves: compile your map without process patches. If you'll play your map, patches are not showed.Them are actully invisible but collision is still detected.

lightcarve: will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum (thanks to Black dog)

nodeblocksize: = actually suggested by someone, but i didn't found any trace of it in doom exe

noaas: build your map without calculating aas files for AI

nocm: ???

notjunc: ???

shadowopt: ???

noclipsides: ???

nomodels: ???

verboseentities: ???

noopt: compile your map without merge brushes with contiguos textures (and more? )

noflood: doesn't perform the "flood" process so your map won't leak even if entities can reach the void (usefull to use like a sort of "region" tool)



HOW TO ADD OPTIONS IN BSP MENU

There are 2 methods to add your custom options in BSP menu, one is achieved in Radiant, and one is achieved by manually edit your radiant project file (doom.qe4). I prefer edit the file manually cause the radiant feature is a little buggish.


1) Make sure that your doom.qe4 file is placed in the right folder, the BASE folder. Something like "doom3\base\doom.qe4 "


2) open your doom.qe4 in a textpad.. you can see something like that

{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""

"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Your project settings.. The bold strings, are the options that are present in the BSP menu of radiant.. Notice that there are two sets of quotes, the first one contain the actual compile options and the second one is empty


3) now you can insert your new line using this syntax

"bsp command1 command2 command3" ""

Example:

if you want a compile session that will not process curves and don't perform the "flood" process, you can add

"bsp nocurves noflood" ""

and have something like this new one


Quote:
{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves noflood" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""
"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Now you have a new option in the BSP menu of radiant named "bsp nocurves noflood" that works perfectly (please refer above in this thread for options details)



Black Dog@Posted: Mon Aug 30, 2004 10:26 am :
I get the impression there are plenty of options. For example, -nodeblocksize <n>. I don't know what any of them are though.



Black Dog@Posted: Wed Sep 01, 2004 9:10 am :
I just remembered another one: -lightcarve, which will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum. Not good with many small lights though.



Rayne@Posted: Wed Sep 01, 2004 10:53 am :
Ops!



Rayne@Posted: Thu Sep 02, 2004 4:13 pm :
Few updates!



Black Dog@Posted: Thu Sep 02, 2004 5:28 pm :
Good call on making this thread, very useful reference. I'll make sure to add more stuff if I stumble across it.

By the way, I believe -nodeblocksize controls the size of the chunks the BSP process carves the level into. In other words, your level space will be split into peices of size: nodeblocksize regardless of geometry, then cut up further by any structural stuff. I could easily be wrong on this though.

It would be useful if you're making a huge outdoor level and are running out of memory on compiles - up the -nodeblocksize to 4096 or so (default is 1024) and you can compile a much bigger level by keeping the number of created leaves down.



Black Dog@Posted: Thu Sep 02, 2004 6:17 pm :
Oh yeah, I should note: I picked these up from other people. I haven't tried them. Hope they work. :)



Rayne@Posted: Fri Sep 03, 2004 12:29 am :
Another small update :wink:



RedWolf@Posted: Fri Sep 03, 2004 3:52 am :
Many thanks Rayne, and anymore you can dig up would be great. :mrgreen:


EDIT: "noopt"

Quote:
dmap noopt t
---- dmap ----
noOptimize = true
--- LoadDMapFile ---


Ran a small test map (hollowed cube) noopt means no optimize, and its fairly obvious that it doesn't. On a simple map of normaly about 115 tris (from r_showprimitives) it becomes 175 tris. However, when I did a map with about a175 tris to begin with after noopt it ended up more then doubleing at 380 tris. On a large map this would be very bad.

lightcarve seems to work exactly as avertized, but probably would add a lot of tris aswell on a large map (added about 60 tris to the 114 tris map). In the same map above, I added 4 small lights even placed only touching the floor (50 50 50) only the radous of the light was colored red, everything else was black so it works really well. Also I tried noopt lightcarve, and got 380 plus tris. Keep in mind that that was only touching the floor...

Also as you can see above you can run these from the console in game by dmap option mapname



Rayne@Posted: Fri Sep 03, 2004 11:45 am :
I just starting to think that some options are obsolete.. I remember that alpha build made lightcarve by default, and now the retail version will not..


Now i'm at work, but when I've the game in my hands i'm curious to test how ID compiled his maps.. If they used light carve, or not, how they avoid the dmap aspect that merge contigues brushes etc..



Gabrobot@Posted: Sun Sep 05, 2004 3:19 am :
I can't get the nodeblocksize command to work...it doesn't seem to recognize it, and instead thinks "nodeblocksize" is the name of the map to be compiled. Someone knowlegable on the Splash Damage forums told me about the nodeblocksize command as well, so this greatly puzzles me...



W01f@Posted: Thu Sep 23, 2004 9:42 pm :
I know for a fact that they didn't compile their maps with lightcarve. Just go into "color mode" in any of the maps and it is quite evident. They also didn't do much manual splitting..but that is understandable since they didn't have all the time in the world.

Lightcarve isn't as useful as you would think. It can be good for small maps...rocket arena style or what have you, but for maps as large as all of the doom3 stock maps, they would end up tripling triscounts, and making it run slow everywhere, rather than just areas with lots of lights.

Like I was saying in another topic, lightcarve will split all brushes in the map, even ones that wouldn't need to be split. This will kill the triscounts. You are better off splitting brushes manually, only where you see fit.



Brain Trepaning@Posted: Sat Oct 23, 2004 7:57 am :
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!
BTW and FYI: These BSP Brushes were made in 3ds Max and exported as a MAP, then opened and carved in D3Ed.
Image
Image



Black Dog@Posted: Sat Oct 23, 2004 12:51 pm :
In a scene where polycount is more of a limiting factor (~100K world polys), I suspect lightcarve would not double your FPS. That test map looks awfully like a best-case scenario for lightcarve, with those large unbroken surfaces and sparse large light volumes.



RedWolf@Posted: Sat Oct 23, 2004 4:45 pm :
Quote:
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!


I'd agree I'f you can keep your tris count under the recomended level, but If your already there with the map. Trippling tris count from say 60,000 to 180,000 would be bad. :)



Sebazzz@Posted: Wed Nov 30, 2005 8:32 am :
with nocm you just have no cm compiled



iceheart@Posted: Wed Nov 30, 2005 8:50 am :
http://www.modwiki.net/wiki/Dmap_%28console_command%29



Sebazzz@Posted: Wed Nov 30, 2005 2:51 pm :
Okay. Alle the answers has been anwered then. :D



RedWolf@Posted: Fri Dec 02, 2005 12:32 am :
From iddevnet.com:

Code:
01/14/05    dmap options
glview   Not implemented
v   Print extra information as the map is compiling
draw   Render the level as it's compiling (not sure if this works anymore)
noFlood   Don't 'flood' the level marking outside surfaces invisible
noLightCarve   Don't carve geometry based light volumes (default)
lightCarve   Carve the geometry based on the volume of the lights that touch them
noOpt   Don't optimize (merge and cut) triangles
verboseentities   Print extra information about entities (more so than with just verbose)
noCurves   Don't process patches
noModels   Not implemented
noClipSides   For debugging, don't clip the sides of a brush to other solid parts of the world
noCarve   Don't cut up any surfaces (like adding noFragment to every surface)
shadowOpt <n>   Set the shadow optimize level:
0 - No optimization
1 - SO_MERGE_SURFACES (default)
2 - SO_CULL_OCCLUDED
3 - SO_CLIP_OCCLUDERS
4 - SO_CLIP_SILS
5 - SO_SIL_OPTIMIZE
noTjunc   Don't fix t-juctions. (Triangle optimization won't work without t-junction fixing)
noCM   Don't generate .cm (collision) information
noAAS   Don't generate .aas (pathfinding) information
editorOutput   Pipe status messages to the editor window



Rayne@Posted: Mon Aug 30, 2004 2:01 am :
UPDATED: I will include every bsp aspect I collect, to keep infos in one thread. Now i'm triyng to figure out the BSPext stuff..

*EDITOR OPTIONS*
The first thing I enjoyed of the new editor, is that we now have a cool BSP menu with compile options (ala quake3)... I really hate to turn on console and type dmap blablabla, so i use it for compiling purposes... Now, since we have not simply an option, but six commands, i'm trying to figure out what those six options does.

Choosing The first option (BSP) will compile your map with default settings, the same exact thing that writing into console dmap maps/yourmap and the others command will compile your map with extra options... See below for parameters descriptions.. the only thing i have to figure out is what the hell is BSPext on last command


*FULL COMMANDS DESCRIPTION*

I found following parameters in doom.exe and experimented a little.. If you know more about these, let me know.

noCurves: compile your map without process patches. If you'll play your map, patches are not showed.Them are actully invisible but collision is still detected.

lightcarve: will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum (thanks to Black dog)

nodeblocksize: = actually suggested by someone, but i didn't found any trace of it in doom exe

noaas: build your map without calculating aas files for AI

nocm: ???

notjunc: ???

shadowopt: ???

noclipsides: ???

nomodels: ???

verboseentities: ???

noopt: compile your map without merge brushes with contiguos textures (and more? )

noflood: doesn't perform the "flood" process so your map won't leak even if entities can reach the void (usefull to use like a sort of "region" tool)



HOW TO ADD OPTIONS IN BSP MENU

There are 2 methods to add your custom options in BSP menu, one is achieved in Radiant, and one is achieved by manually edit your radiant project file (doom.qe4). I prefer edit the file manually cause the radiant feature is a little buggish.


1) Make sure that your doom.qe4 file is placed in the right folder, the BASE folder. Something like "doom3\base\doom.qe4 "


2) open your doom.qe4 in a textpad.. you can see something like that

{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""

"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Your project settings.. The bold strings, are the options that are present in the BSP menu of radiant.. Notice that there are two sets of quotes, the first one contain the actual compile options and the second one is empty


3) now you can insert your new line using this syntax

"bsp command1 command2 command3" ""

Example:

if you want a compile session that will not process curves and don't perform the "flood" process, you can add

"bsp nocurves noflood" ""

and have something like this new one


Quote:
{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves noflood" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""
"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Now you have a new option in the BSP menu of radiant named "bsp nocurves noflood" that works perfectly (please refer above in this thread for options details)



Black Dog@Posted: Mon Aug 30, 2004 10:26 am :
I get the impression there are plenty of options. For example, -nodeblocksize <n>. I don't know what any of them are though.



Black Dog@Posted: Wed Sep 01, 2004 9:10 am :
I just remembered another one: -lightcarve, which will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum. Not good with many small lights though.



Rayne@Posted: Wed Sep 01, 2004 10:53 am :
Ops!



Rayne@Posted: Thu Sep 02, 2004 4:13 pm :
Few updates!



Black Dog@Posted: Thu Sep 02, 2004 5:28 pm :
Good call on making this thread, very useful reference. I'll make sure to add more stuff if I stumble across it.

By the way, I believe -nodeblocksize controls the size of the chunks the BSP process carves the level into. In other words, your level space will be split into peices of size: nodeblocksize regardless of geometry, then cut up further by any structural stuff. I could easily be wrong on this though.

It would be useful if you're making a huge outdoor level and are running out of memory on compiles - up the -nodeblocksize to 4096 or so (default is 1024) and you can compile a much bigger level by keeping the number of created leaves down.



Black Dog@Posted: Thu Sep 02, 2004 6:17 pm :
Oh yeah, I should note: I picked these up from other people. I haven't tried them. Hope they work. :)



Rayne@Posted: Fri Sep 03, 2004 12:29 am :
Another small update :wink:



RedWolf@Posted: Fri Sep 03, 2004 3:52 am :
Many thanks Rayne, and anymore you can dig up would be great. :mrgreen:


EDIT: "noopt"

Quote:
dmap noopt t
---- dmap ----
noOptimize = true
--- LoadDMapFile ---


Ran a small test map (hollowed cube) noopt means no optimize, and its fairly obvious that it doesn't. On a simple map of normaly about 115 tris (from r_showprimitives) it becomes 175 tris. However, when I did a map with about a175 tris to begin with after noopt it ended up more then doubleing at 380 tris. On a large map this would be very bad.

lightcarve seems to work exactly as avertized, but probably would add a lot of tris aswell on a large map (added about 60 tris to the 114 tris map). In the same map above, I added 4 small lights even placed only touching the floor (50 50 50) only the radous of the light was colored red, everything else was black so it works really well. Also I tried noopt lightcarve, and got 380 plus tris. Keep in mind that that was only touching the floor...

Also as you can see above you can run these from the console in game by dmap option mapname



Rayne@Posted: Fri Sep 03, 2004 11:45 am :
I just starting to think that some options are obsolete.. I remember that alpha build made lightcarve by default, and now the retail version will not..


Now i'm at work, but when I've the game in my hands i'm curious to test how ID compiled his maps.. If they used light carve, or not, how they avoid the dmap aspect that merge contigues brushes etc..



Gabrobot@Posted: Sun Sep 05, 2004 3:19 am :
I can't get the nodeblocksize command to work...it doesn't seem to recognize it, and instead thinks "nodeblocksize" is the name of the map to be compiled. Someone knowlegable on the Splash Damage forums told me about the nodeblocksize command as well, so this greatly puzzles me...



W01f@Posted: Thu Sep 23, 2004 9:42 pm :
I know for a fact that they didn't compile their maps with lightcarve. Just go into "color mode" in any of the maps and it is quite evident. They also didn't do much manual splitting..but that is understandable since they didn't have all the time in the world.

Lightcarve isn't as useful as you would think. It can be good for small maps...rocket arena style or what have you, but for maps as large as all of the doom3 stock maps, they would end up tripling triscounts, and making it run slow everywhere, rather than just areas with lots of lights.

Like I was saying in another topic, lightcarve will split all brushes in the map, even ones that wouldn't need to be split. This will kill the triscounts. You are better off splitting brushes manually, only where you see fit.



Brain Trepaning@Posted: Sat Oct 23, 2004 7:57 am :
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!
BTW and FYI: These BSP Brushes were made in 3ds Max and exported as a MAP, then opened and carved in D3Ed.
Image
Image



Black Dog@Posted: Sat Oct 23, 2004 12:51 pm :
In a scene where polycount is more of a limiting factor (~100K world polys), I suspect lightcarve would not double your FPS. That test map looks awfully like a best-case scenario for lightcarve, with those large unbroken surfaces and sparse large light volumes.



RedWolf@Posted: Sat Oct 23, 2004 4:45 pm :
Quote:
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!


I'd agree I'f you can keep your tris count under the recomended level, but If your already there with the map. Trippling tris count from say 60,000 to 180,000 would be bad. :)



Sebazzz@Posted: Wed Nov 30, 2005 8:32 am :
with nocm you just have no cm compiled



iceheart@Posted: Wed Nov 30, 2005 8:50 am :
http://www.modwiki.net/wiki/Dmap_%28console_command%29



Sebazzz@Posted: Wed Nov 30, 2005 2:51 pm :
Okay. Alle the answers has been anwered then. :D



RedWolf@Posted: Fri Dec 02, 2005 12:32 am :
From iddevnet.com:

Code:
01/14/05    dmap options
glview   Not implemented
v   Print extra information as the map is compiling
draw   Render the level as it's compiling (not sure if this works anymore)
noFlood   Don't 'flood' the level marking outside surfaces invisible
noLightCarve   Don't carve geometry based light volumes (default)
lightCarve   Carve the geometry based on the volume of the lights that touch them
noOpt   Don't optimize (merge and cut) triangles
verboseentities   Print extra information about entities (more so than with just verbose)
noCurves   Don't process patches
noModels   Not implemented
noClipSides   For debugging, don't clip the sides of a brush to other solid parts of the world
noCarve   Don't cut up any surfaces (like adding noFragment to every surface)
shadowOpt <n>   Set the shadow optimize level:
0 - No optimization
1 - SO_MERGE_SURFACES (default)
2 - SO_CULL_OCCLUDED
3 - SO_CLIP_OCCLUDERS
4 - SO_CLIP_SILS
5 - SO_SIL_OPTIMIZE
noTjunc   Don't fix t-juctions. (Triangle optimization won't work without t-junction fixing)
noCM   Don't generate .cm (collision) information
noAAS   Don't generate .aas (pathfinding) information
editorOutput   Pipe status messages to the editor window



Rayne@Posted: Mon Aug 30, 2004 2:01 am :
UPDATED: I will include every bsp aspect I collect, to keep infos in one thread. Now i'm triyng to figure out the BSPext stuff..

*EDITOR OPTIONS*
The first thing I enjoyed of the new editor, is that we now have a cool BSP menu with compile options (ala quake3)... I really hate to turn on console and type dmap blablabla, so i use it for compiling purposes... Now, since we have not simply an option, but six commands, i'm trying to figure out what those six options does.

Choosing The first option (BSP) will compile your map with default settings, the same exact thing that writing into console dmap maps/yourmap and the others command will compile your map with extra options... See below for parameters descriptions.. the only thing i have to figure out is what the hell is BSPext on last command


*FULL COMMANDS DESCRIPTION*

I found following parameters in doom.exe and experimented a little.. If you know more about these, let me know.

noCurves: compile your map without process patches. If you'll play your map, patches are not showed.Them are actully invisible but collision is still detected.

lightcarve: will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum (thanks to Black dog)

nodeblocksize: = actually suggested by someone, but i didn't found any trace of it in doom exe

noaas: build your map without calculating aas files for AI

nocm: ???

notjunc: ???

shadowopt: ???

noclipsides: ???

nomodels: ???

verboseentities: ???

noopt: compile your map without merge brushes with contiguos textures (and more? )

noflood: doesn't perform the "flood" process so your map won't leak even if entities can reach the void (usefull to use like a sort of "region" tool)



HOW TO ADD OPTIONS IN BSP MENU

There are 2 methods to add your custom options in BSP menu, one is achieved in Radiant, and one is achieved by manually edit your radiant project file (doom.qe4). I prefer edit the file manually cause the radiant feature is a little buggish.


1) Make sure that your doom.qe4 file is placed in the right folder, the BASE folder. Something like "doom3\base\doom.qe4 "


2) open your doom.qe4 in a textpad.. you can see something like that

{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""

"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Your project settings.. The bold strings, are the options that are present in the BSP menu of radiant.. Notice that there are two sets of quotes, the first one contain the actual compile options and the second one is empty


3) now you can insert your new line using this syntax

"bsp command1 command2 command3" ""

Example:

if you want a compile session that will not process curves and don't perform the "flood" process, you can add

"bsp nocurves noflood" ""

and have something like this new one


Quote:
{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves noflood" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""
"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Now you have a new option in the BSP menu of radiant named "bsp nocurves noflood" that works perfectly (please refer above in this thread for options details)



Black Dog@Posted: Mon Aug 30, 2004 10:26 am :
I get the impression there are plenty of options. For example, -nodeblocksize <n>. I don't know what any of them are though.



Black Dog@Posted: Wed Sep 01, 2004 9:10 am :
I just remembered another one: -lightcarve, which will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum. Not good with many small lights though.



Rayne@Posted: Wed Sep 01, 2004 10:53 am :
Ops!



Rayne@Posted: Thu Sep 02, 2004 4:13 pm :
Few updates!



Black Dog@Posted: Thu Sep 02, 2004 5:28 pm :
Good call on making this thread, very useful reference. I'll make sure to add more stuff if I stumble across it.

By the way, I believe -nodeblocksize controls the size of the chunks the BSP process carves the level into. In other words, your level space will be split into peices of size: nodeblocksize regardless of geometry, then cut up further by any structural stuff. I could easily be wrong on this though.

It would be useful if you're making a huge outdoor level and are running out of memory on compiles - up the -nodeblocksize to 4096 or so (default is 1024) and you can compile a much bigger level by keeping the number of created leaves down.



Black Dog@Posted: Thu Sep 02, 2004 6:17 pm :
Oh yeah, I should note: I picked these up from other people. I haven't tried them. Hope they work. :)



Rayne@Posted: Fri Sep 03, 2004 12:29 am :
Another small update :wink:



RedWolf@Posted: Fri Sep 03, 2004 3:52 am :
Many thanks Rayne, and anymore you can dig up would be great. :mrgreen:


EDIT: "noopt"

Quote:
dmap noopt t
---- dmap ----
noOptimize = true
--- LoadDMapFile ---


Ran a small test map (hollowed cube) noopt means no optimize, and its fairly obvious that it doesn't. On a simple map of normaly about 115 tris (from r_showprimitives) it becomes 175 tris. However, when I did a map with about a175 tris to begin with after noopt it ended up more then doubleing at 380 tris. On a large map this would be very bad.

lightcarve seems to work exactly as avertized, but probably would add a lot of tris aswell on a large map (added about 60 tris to the 114 tris map). In the same map above, I added 4 small lights even placed only touching the floor (50 50 50) only the radous of the light was colored red, everything else was black so it works really well. Also I tried noopt lightcarve, and got 380 plus tris. Keep in mind that that was only touching the floor...

Also as you can see above you can run these from the console in game by dmap option mapname



Rayne@Posted: Fri Sep 03, 2004 11:45 am :
I just starting to think that some options are obsolete.. I remember that alpha build made lightcarve by default, and now the retail version will not..


Now i'm at work, but when I've the game in my hands i'm curious to test how ID compiled his maps.. If they used light carve, or not, how they avoid the dmap aspect that merge contigues brushes etc..



Gabrobot@Posted: Sun Sep 05, 2004 3:19 am :
I can't get the nodeblocksize command to work...it doesn't seem to recognize it, and instead thinks "nodeblocksize" is the name of the map to be compiled. Someone knowlegable on the Splash Damage forums told me about the nodeblocksize command as well, so this greatly puzzles me...



W01f@Posted: Thu Sep 23, 2004 9:42 pm :
I know for a fact that they didn't compile their maps with lightcarve. Just go into "color mode" in any of the maps and it is quite evident. They also didn't do much manual splitting..but that is understandable since they didn't have all the time in the world.

Lightcarve isn't as useful as you would think. It can be good for small maps...rocket arena style or what have you, but for maps as large as all of the doom3 stock maps, they would end up tripling triscounts, and making it run slow everywhere, rather than just areas with lots of lights.

Like I was saying in another topic, lightcarve will split all brushes in the map, even ones that wouldn't need to be split. This will kill the triscounts. You are better off splitting brushes manually, only where you see fit.



Brain Trepaning@Posted: Sat Oct 23, 2004 7:57 am :
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!
BTW and FYI: These BSP Brushes were made in 3ds Max and exported as a MAP, then opened and carved in D3Ed.
Image
Image



Black Dog@Posted: Sat Oct 23, 2004 12:51 pm :
In a scene where polycount is more of a limiting factor (~100K world polys), I suspect lightcarve would not double your FPS. That test map looks awfully like a best-case scenario for lightcarve, with those large unbroken surfaces and sparse large light volumes.



RedWolf@Posted: Sat Oct 23, 2004 4:45 pm :
Quote:
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!


I'd agree I'f you can keep your tris count under the recomended level, but If your already there with the map. Trippling tris count from say 60,000 to 180,000 would be bad. :)



Sebazzz@Posted: Wed Nov 30, 2005 8:32 am :
with nocm you just have no cm compiled



iceheart@Posted: Wed Nov 30, 2005 8:50 am :
http://www.modwiki.net/wiki/Dmap_%28console_command%29



Sebazzz@Posted: Wed Nov 30, 2005 2:51 pm :
Okay. Alle the answers has been anwered then. :D



RedWolf@Posted: Fri Dec 02, 2005 12:32 am :
From iddevnet.com:

Code:
01/14/05    dmap options
glview   Not implemented
v   Print extra information as the map is compiling
draw   Render the level as it's compiling (not sure if this works anymore)
noFlood   Don't 'flood' the level marking outside surfaces invisible
noLightCarve   Don't carve geometry based light volumes (default)
lightCarve   Carve the geometry based on the volume of the lights that touch them
noOpt   Don't optimize (merge and cut) triangles
verboseentities   Print extra information about entities (more so than with just verbose)
noCurves   Don't process patches
noModels   Not implemented
noClipSides   For debugging, don't clip the sides of a brush to other solid parts of the world
noCarve   Don't cut up any surfaces (like adding noFragment to every surface)
shadowOpt <n>   Set the shadow optimize level:
0 - No optimization
1 - SO_MERGE_SURFACES (default)
2 - SO_CULL



Rayne@Posted: Mon Aug 30, 2004 2:01 am :
UPDATED: I will include every bsp aspect I collect, to keep infos in one thread. Now i'm triyng to figure out the BSPext stuff..

*EDITOR OPTIONS*
The first thing I enjoyed of the new editor, is that we now have a cool BSP menu with compile options (ala quake3)... I really hate to turn on console and type dmap blablabla, so i use it for compiling purposes... Now, since we have not simply an option, but six commands, i'm trying to figure out what those six options does.

Choosing The first option (BSP) will compile your map with default settings, the same exact thing that writing into console dmap maps/yourmap and the others command will compile your map with extra options... See below for parameters descriptions.. the only thing i have to figure out is what the hell is BSPext on last command


*FULL COMMANDS DESCRIPTION*

I found following parameters in doom.exe and experimented a little.. If you know more about these, let me know.

noCurves: compile your map without process patches. If you'll play your map, patches are not showed.Them are actully invisible but collision is still detected.

lightcarve: will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum (thanks to Black dog)

nodeblocksize: = actually suggested by someone, but i didn't found any trace of it in doom exe

noaas: build your map without calculating aas files for AI

nocm: ???

notjunc: ???

shadowopt: ???

noclipsides: ???

nomodels: ???

verboseentities: ???

noopt: compile your map without merge brushes with contiguos textures (and more? )

noflood: doesn't perform the "flood" process so your map won't leak even if entities can reach the void (usefull to use like a sort of "region" tool)



HOW TO ADD OPTIONS IN BSP MENU

There are 2 methods to add your custom options in BSP menu, one is achieved in Radiant, and one is achieved by manually edit your radiant project file (doom.qe4). I prefer edit the file manually cause the radiant feature is a little buggish.


1) Make sure that your doom.qe4 file is placed in the right folder, the BASE folder. Something like "doom3\base\doom.qe4 "


2) open your doom.qe4 in a textpad.. you can see something like that

{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""

"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Your project settings.. The bold strings, are the options that are present in the BSP menu of radiant.. Notice that there are two sets of quotes, the first one contain the actual compile options and the second one is empty


3) now you can insert your new line using this syntax

"bsp command1 command2 command3" ""

Example:

if you want a compile session that will not process curves and don't perform the "flood" process, you can add

"bsp nocurves noflood" ""

and have something like this new one


Quote:
{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves noflood" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""
"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Now you have a new option in the BSP menu of radiant named "bsp nocurves noflood" that works perfectly (please refer above in this thread for options details)



Black Dog@Posted: Mon Aug 30, 2004 10:26 am :
I get the impression there are plenty of options. For example, -nodeblocksize <n>. I don't know what any of them are though.



Black Dog@Posted: Wed Sep 01, 2004 9:10 am :
I just remembered another one: -lightcarve, which will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum. Not good with many small lights though.



Rayne@Posted: Wed Sep 01, 2004 10:53 am :
Ops!



Rayne@Posted: Thu Sep 02, 2004 4:13 pm :
Few updates!



Black Dog@Posted: Thu Sep 02, 2004 5:28 pm :
Good call on making this thread, very useful reference. I'll make sure to add more stuff if I stumble across it.

By the way, I believe -nodeblocksize controls the size of the chunks the BSP process carves the level into. In other words, your level space will be split into peices of size: nodeblocksize regardless of geometry, then cut up further by any structural stuff. I could easily be wrong on this though.

It would be useful if you're making a huge outdoor level and are running out of memory on compiles - up the -nodeblocksize to 4096 or so (default is 1024) and you can compile a much bigger level by keeping the number of created leaves down.



Black Dog@Posted: Thu Sep 02, 2004 6:17 pm :
Oh yeah, I should note: I picked these up from other people. I haven't tried them. Hope they work. :)



Rayne@Posted: Fri Sep 03, 2004 12:29 am :
Another small update :wink:



RedWolf@Posted: Fri Sep 03, 2004 3:52 am :
Many thanks Rayne, and anymore you can dig up would be great. :mrgreen:


EDIT: "noopt"

Quote:
dmap noopt t
---- dmap ----
noOptimize = true
--- LoadDMapFile ---


Ran a small test map (hollowed cube) noopt means no optimize, and its fairly obvious that it doesn't. On a simple map of normaly about 115 tris (from r_showprimitives) it becomes 175 tris. However, when I did a map with about a175 tris to begin with after noopt it ended up more then doubleing at 380 tris. On a large map this would be very bad.

lightcarve seems to work exactly as avertized, but probably would add a lot of tris aswell on a large map (added about 60 tris to the 114 tris map). In the same map above, I added 4 small lights even placed only touching the floor (50 50 50) only the radous of the light was colored red, everything else was black so it works really well. Also I tried noopt lightcarve, and got 380 plus tris. Keep in mind that that was only touching the floor...

Also as you can see above you can run these from the console in game by dmap option mapname



Rayne@Posted: Fri Sep 03, 2004 11:45 am :
I just starting to think that some options are obsolete.. I remember that alpha build made lightcarve by default, and now the retail version will not..


Now i'm at work, but when I've the game in my hands i'm curious to test how ID compiled his maps.. If they used light carve, or not, how they avoid the dmap aspect that merge contigues brushes etc..



Gabrobot@Posted: Sun Sep 05, 2004 3:19 am :
I can't get the nodeblocksize command to work...it doesn't seem to recognize it, and instead thinks "nodeblocksize" is the name of the map to be compiled. Someone knowlegable on the Splash Damage forums told me about the nodeblocksize command as well, so this greatly puzzles me...



W01f@Posted: Thu Sep 23, 2004 9:42 pm :
I know for a fact that they didn't compile their maps with lightcarve. Just go into "color mode" in any of the maps and it is quite evident. They also didn't do much manual splitting..but that is understandable since they didn't have all the time in the world.

Lightcarve isn't as useful as you would think. It can be good for small maps...rocket arena style or what have you, but for maps as large as all of the doom3 stock maps, they would end up tripling triscounts, and making it run slow everywhere, rather than just areas with lots of lights.

Like I was saying in another topic, lightcarve will split all brushes in the map, even ones that wouldn't need to be split. This will kill the triscounts. You are better off splitting brushes manually, only where you see fit.



Brain Trepaning@Posted: Sat Oct 23, 2004 7:57 am :
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!
BTW and FYI: These BSP Brushes were made in 3ds Max and exported as a MAP, then opened and carved in D3Ed.
Image
Image



Black Dog@Posted: Sat Oct 23, 2004 12:51 pm :
In a scene where polycount is more of a limiting factor (~100K world polys), I suspect lightcarve would not double your FPS. That test map looks awfully like a best-case scenario for lightcarve, with those large unbroken surfaces and sparse large light volumes.



RedWolf@Posted: Sat Oct 23, 2004 4:45 pm :
Quote:
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!


I'd agree I'f you can keep your tris count under the recomended level, but If your already there with the map. Trippling tris count from say 60,000 to 180,000 would be bad. :)



Sebazzz@Posted: Wed Nov 30, 2005 8:32 am :
with nocm you just have no cm compiled



iceheart@Posted: Wed Nov 30, 2005 8:50 am :
http://www.modwiki.net/wiki/Dmap_%28console_command%29



Sebazzz@Posted: Wed Nov 30, 2005 2:51 pm :
Okay. Alle the answers has been anwered then. :D



RedWolf@Posted: Fri Dec 02, 2005 12:32 am :
From iddevnet.com:

Code:
01/14/05    dmap options
glview   Not implemented
v   Print extra information as the map is compiling
draw   Render the level as it's compiling (not sure if this works anymore)
noFlood   Don't 'flood' the level marking outside surfaces invisible
noLightCarve   Don't carve geometry based light volumes (default)
lightCarve   Carve the geometry based on the volume of the lights that touch them
noOpt   Don't optimize (merge and cut) triangles
verboseentities   Print extra information about entities (more so than with just verbose)
noCurves   Don't process patches
noModels   Not implemented
noClipSides   For debugging, don't clip the sides of a brush to other solid parts of the world
noCarve   Don't cut up any surfaces (like adding noFragment to every surface)
shadowOpt <n>   Set the shadow optimize level:
0 - No optimization
1 - SO_MERGE_SURFACES (default)
2 - SO_CUL



Rayne@Posted: Mon Aug 30, 2004 2:01 am :
UPDATED: I will include every bsp aspect I collect, to keep infos in one thread. Now i'm triyng to figure out the BSPext stuff..

*EDITOR OPTIONS*
The first thing I enjoyed of the new editor, is that we now have a cool BSP menu with compile options (ala quake3)... I really hate to turn on console and type dmap blablabla, so i use it for compiling purposes... Now, since we have not simply an option, but six commands, i'm trying to figure out what those six options does.

Choosing The first option (BSP) will compile your map with default settings, the same exact thing that writing into console dmap maps/yourmap and the others command will compile your map with extra options... See below for parameters descriptions.. the only thing i have to figure out is what the hell is BSPext on last command


*FULL COMMANDS DESCRIPTION*

I found following parameters in doom.exe and experimented a little.. If you know more about these, let me know.

noCurves: compile your map without process patches. If you'll play your map, patches are not showed.Them are actully invisible but collision is still detected.

lightcarve: will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum (thanks to Black dog)

nodeblocksize: = actually suggested by someone, but i didn't found any trace of it in doom exe

noaas: build your map without calculating aas files for AI

nocm: ???

notjunc: ???

shadowopt: ???

noclipsides: ???

nomodels: ???

verboseentities: ???

noopt: compile your map without merge brushes with contiguos textures (and more? )

noflood: doesn't perform the "flood" process so your map won't leak even if entities can reach the void (usefull to use like a sort of "region" tool)



HOW TO ADD OPTIONS IN BSP MENU

There are 2 methods to add your custom options in BSP menu, one is achieved in Radiant, and one is achieved by manually edit your radiant project file (doom.qe4). I prefer edit the file manually cause the radiant feature is a little buggish.


1) Make sure that your doom.qe4 file is placed in the right folder, the BASE folder. Something like "doom3\base\doom.qe4 "


2) open your doom.qe4 in a textpad.. you can see something like that

{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""

"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Your project settings.. The bold strings, are the options that are present in the BSP menu of radiant.. Notice that there are two sets of quotes, the first one contain the actual compile options and the second one is empty


3) now you can insert your new line using this syntax

"bsp command1 command2 command3" ""

Example:

if you want a compile session that will not process curves and don't perform the "flood" process, you can add

"bsp nocurves noflood" ""

and have something like this new one


Quote:
{
"mapspath" "w:\doom\base\maps"
"bsp" ""
"bsp noflood" ""
"bsp nocurves noflood" ""
"bsp shadowOpt 2" ""
"bsp noaas" ""
"bspext" ""
"bspext noflood" ""
"autosave" "c:\autosave.map"
"autosave1" "c:\autosave1.map"
"autosave2" "c:\autosave2.map"
"texturepath" "w:\doom\base\textures"
"entitypath" "w:\doom\base\scripts\*.def"
"remotebasepath" "w:\doom\base"
"rshcmd" ""
"basepath" "w:\doom\base"
"brush_primit" "1"
}


Now you have a new option in the BSP menu of radiant named "bsp nocurves noflood" that works perfectly (please refer above in this thread for options details)



Black Dog@Posted: Mon Aug 30, 2004 10:26 am :
I get the impression there are plenty of options. For example, -nodeblocksize <n>. I don't know what any of them are though.



Black Dog@Posted: Wed Sep 01, 2004 9:10 am :
I just remembered another one: -lightcarve, which will cut your brushes at light boundaries in order to keep the number of lights touching a triangle at a minimum. Not good with many small lights though.



Rayne@Posted: Wed Sep 01, 2004 10:53 am :
Ops!



Rayne@Posted: Thu Sep 02, 2004 4:13 pm :
Few updates!



Black Dog@Posted: Thu Sep 02, 2004 5:28 pm :
Good call on making this thread, very useful reference. I'll make sure to add more stuff if I stumble across it.

By the way, I believe -nodeblocksize controls the size of the chunks the BSP process carves the level into. In other words, your level space will be split into peices of size: nodeblocksize regardless of geometry, then cut up further by any structural stuff. I could easily be wrong on this though.

It would be useful if you're making a huge outdoor level and are running out of memory on compiles - up the -nodeblocksize to 4096 or so (default is 1024) and you can compile a much bigger level by keeping the number of created leaves down.



Black Dog@Posted: Thu Sep 02, 2004 6:17 pm :
Oh yeah, I should note: I picked these up from other people. I haven't tried them. Hope they work. :)



Rayne@Posted: Fri Sep 03, 2004 12:29 am :
Another small update :wink:



RedWolf@Posted: Fri Sep 03, 2004 3:52 am :
Many thanks Rayne, and anymore you can dig up would be great. :mrgreen:


EDIT: "noopt"

Quote:
dmap noopt t
---- dmap ----
noOptimize = true
--- LoadDMapFile ---


Ran a small test map (hollowed cube) noopt means no optimize, and its fairly obvious that it doesn't. On a simple map of normaly about 115 tris (from r_showprimitives) it becomes 175 tris. However, when I did a map with about a175 tris to begin with after noopt it ended up more then doubleing at 380 tris. On a large map this would be very bad.

lightcarve seems to work exactly as avertized, but probably would add a lot of tris aswell on a large map (added about 60 tris to the 114 tris map). In the same map above, I added 4 small lights even placed only touching the floor (50 50 50) only the radous of the light was colored red, everything else was black so it works really well. Also I tried noopt lightcarve, and got 380 plus tris. Keep in mind that that was only touching the floor...

Also as you can see above you can run these from the console in game by dmap option mapname



Rayne@Posted: Fri Sep 03, 2004 11:45 am :
I just starting to think that some options are obsolete.. I remember that alpha build made lightcarve by default, and now the retail version will not..


Now i'm at work, but when I've the game in my hands i'm curious to test how ID compiled his maps.. If they used light carve, or not, how they avoid the dmap aspect that merge contigues brushes etc..



Gabrobot@Posted: Sun Sep 05, 2004 3:19 am :
I can't get the nodeblocksize command to work...it doesn't seem to recognize it, and instead thinks "nodeblocksize" is the name of the map to be compiled. Someone knowlegable on the Splash Damage forums told me about the nodeblocksize command as well, so this greatly puzzles me...



W01f@Posted: Thu Sep 23, 2004 9:42 pm :
I know for a fact that they didn't compile their maps with lightcarve. Just go into "color mode" in any of the maps and it is quite evident. They also didn't do much manual splitting..but that is understandable since they didn't have all the time in the world.

Lightcarve isn't as useful as you would think. It can be good for small maps...rocket arena style or what have you, but for maps as large as all of the doom3 stock maps, they would end up tripling triscounts, and making it run slow everywhere, rather than just areas with lots of lights.

Like I was saying in another topic, lightcarve will split all brushes in the map, even ones that wouldn't need to be split. This will kill the triscounts. You are better off splitting brushes manually, only where you see fit.



Brain Trepaning@Posted: Sat Oct 23, 2004 7:57 am :
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!
BTW and FYI: These BSP Brushes were made in 3ds Max and exported as a MAP, then opened and carved in D3Ed.
Image
Image



Black Dog@Posted: Sat Oct 23, 2004 12:51 pm :
In a scene where polycount is more of a limiting factor (~100K world polys), I suspect lightcarve would not double your FPS. That test map looks awfully like a best-case scenario for lightcarve, with those large unbroken surfaces and sparse large light volumes.



RedWolf@Posted: Sat Oct 23, 2004 4:45 pm :
Quote:
Lightcarve triples my triscount but more than doubles my FPS. I'll stick with Lightcarve!


I'd agree I'f you can keep your tris count under the recomended level, but If your already there with the map. Trippling tris count from say 60,000 to 180,000 would be bad. :)



Sebazzz@Posted: Wed Nov 30, 2005 8:32 am :
with nocm you just have no cm compiled



iceheart@Posted: Wed Nov 30, 2005 8:50 am :
http://www.modwiki.net/wiki/Dmap_%28console_command%29



Sebazzz@Posted: Wed Nov 30, 2005 2:51 pm :
Okay. Alle the answers has been anwered then. :D



RedWolf@Posted: Fri Dec 02, 2005 12:32 am :
From iddevnet.com:

Code:
01/14/05    dmap options
glview   Not implemented
v   Print extra information as the map is compiling
draw   Render the level as it's compiling (not sure if this works anymore)
noFlood   Don't 'flood' the level marking outside surfaces invisible
noLightCarve   Don't carve geometry based light volumes (default)
lightCarve   Carve the geometry based on the volume of the lights that touch them
noOpt   Don't optimize (merge and cut) triangles
verboseentities   Print extra information about entities (more so than with just verbose)
noCurves   Don't process patches
noModels   Not implemented
noClipSides   For debugging, don't clip the sides of a brush to other solid parts of the world
noCarve   Don't cut up any surfaces (like adding noFragment to every surface)
shadowOpt <n>   Set the shadow optimize level:
0 - No optimization
1 - SO_MERGE_SURFACES (default)
2 - SO_CULL