NoDrawing Everything

Stickeyjam

L2: Junior Member
Jun 2, 2009
52
1
Just a quick Q.

I have gotten into the habit of building EVERYTHING in NoDraw and then painting it normally after. My reason being is that at least this way, I know for sure there are no textures on faces that are not shown.

Do I need to be doing this or does it not really matter? I hear surfaces you cannot see are not drawn anyway, so is there any point to this?
 

Berry

resident homo
aa
Dec 27, 2012
1,056
1,898
If the latter is true, then it still saves your compile time by quite a lot.
 

Zeigh

L2: Junior Member
Jul 13, 2012
60
18
You could use dev textures and then replace them with nodraw later when you want to texture stuff.
 
Sep 7, 2012
638
500
Some faces will never be seen by a player but could be seen by a spectator moving freely. Putting nodraw on such faces will save some minor but not totally insignificant file space, but will not have a noticeable impact on in-game performance.
 

Stickeyjam

L2: Junior Member
Jun 2, 2009
52
1
What about during compiling as mentioned by Berry, if it was a large map would it benefit from a lot of NoDrawing or is it not really noticeable?
 

Berry

resident homo
aa
Dec 27, 2012
1,056
1,898
What about during compiling as mentioned by Berry, if it was a large map would it benefit from a lot of NoDrawing or is it not really noticeable?

With at least a decent computer, an undetailed, unnodrawwed dev map that's large shouldn't take any more than a few minutes to compile, but I'm sure it'd make a difference.
 

xzzy

aa
Jan 30, 2010
815
531
World geometry doesn't need nodraw on the "unseen" sides as the vbsp process throws away all faces that come into contact with the void (this is why noclipping outside the map results in transparent walls). The texture on those faces are completely irrelevant at that point. There is no compile time advantage as vbsp has to process those vertices whether they're textured or not.

func_detail gets similar treatment. If internet lore is to believed, invisible faces within a single func_detail will be deleted. But any faces on the outside edge of the func_detail will remain, which means you could save a few polygons if you nodraw the back side of details that contact world geometry.

All of this is pretty easy to explore with a test map mat_wireframe.

The best use of nodraw is for sealing the map underneath a displacement. It also gets used under dynamic props (look at the last point of goldrush for an example) to make them solid.

The best reason to not overuse nodraw is that it keeps the "nodraw" automatic visgroup useful.

edit - googling around for an example, the Valve wiki has a nice demonstration

https://developer.valvesoftware.com/wiki/Brush

The page also reiterates some of the things I said.
 
Last edited:

Pocket

Half a Lambert is better than one.
aa
Nov 14, 2009
4,694
2,579
One advantage of using Nodraw obsessively is that you can click the button that hides Nodraw spaces and be able to see into the map from the outside, if you want to get an idea of how something looks from there.
 

Freyja

aa
Jul 31, 2009
2,994
5,813
VBSP throws away every face that is touching another face, not just the void. so you don't need to nodraw corners, the inside of beams, etc.
 

UKCS-Alias

Mann vs Machine... or... Mapper vs Meta?
aa
Sep 8, 2008
1,264
816
I'm building the geometry this way as well. Not only does it make the job of nodrawing unseen faces much easier, it also ets you build without having to think about what texture to slap on until it's relevant to do so.
I usualy do just dev texures on all faces. I dont nodraw a single thing. Especialy since during the dev phase it should have no negative effect at all (it will allways run worse when fully detailed).

However, in the detail phase you normaly would have to detail all areas. You dont want to miss a single texture there. When you are finished you can just search for the dev textures and replace those with nodraw. You might notice an forgotted dev texture though, but if your map is fully textured in b3 you could still have 2 betas fixing those issues.

Hell, using a custom bright purple texture as replacement for dev textures at first might help you discovering those textures faster. And replacing afterward can still go faster.

building it all in nodraw means i need to retexture each brush all the time, and in a dev state this is simply time wasting for me as you have to texture each brush every time.