func_detail

From Source Entities
Jump to navigation Jump to search
When a brush is touching another brush of the same entity (or two world brushes touch each other), VBSP wants to split these faces up in order to cut out geometry that's not visible in the game. If brushes create many faces like in the top picture, it can dampen CPU performance and create unsightly discontinuities in lightmaps.
This cylinder creates about 30 more visleaves than necessary (some of them not even accessible). This brush would cause the map compile time to be increased for no benefit. As a func_detail (or any other brush entity) this would not occur.

func_detail is an internal brush entity present in all Source games. When the map is compiled, this entity will intentionally not cut visleaves, nor will it create extra unneeded brush faces if the brush intersects with a world brush.

Tip: Don't take the name of this entity too literally. Sometimes it is beneficial to make non-cosmetic brushes func_detail, and sometimes things you might consider "detail" actually would be better off cutting visleaves.

Commonly func_detailed things are:

  • Stairs
  • Round things, or any other brush with a large amount of sides
  • Any small or thin brushes
  • Brushes in a 3d skybox
  • Generally, whatever doesn't contribute to the main structure of the map

Obviously, use your own judgement too, and experiment to find what works.

Note: As with any other brush entity, since func_detail does not cut leaves, leaves may travel through them, therefore they cannot seal leaks.

Note: When a func_detail brush has faces that touch another func_detail or a world brush, func_detail faces which are 100% unseeable will get deleted, but not the world brush faces.

ConVars/Commands[edit | edit source]

ConVar/CommandParameters or default valueParameter TypeEffect
r_drawfuncdetail10 disables, 1 enablesDraws all detail brushes.

Keyvalues[edit | edit source]

Minimum DX Level (mindxlevel) to Maximum DX Level (maxdxlevel) <choices> (only available in games before Left 4 Dead)
Very outdated settings. Their functionality seems to no longer be fully intact. Nearly all players will be at the highest setting anyway because DirectX 8 has been obsolete since 2002. This is still in the FGD for Alien Swarm, but it doesn't use it.
Minimum CPU Level (mincpulevel) to Maximum CPU Level (maxcpulevel) <choices> (available in all games since L4d.png)
A user with the "effect detail" setting not in this specific range will not see this object.
  • 0: Default
  • 1: Low
  • 2: Medium
  • 3: High
Minimum GPU Level (mingpulevel) to Maximum GPU Level (maxgpulevel) <choices> (available in all games since L4d.png)
A user with the "shader detail" setting not in this specific range will not see this object. Settings are named differently in different games.
  • 0: Default
  • 1: Very low or Low
  • 2: Low or Medium
  • 3: Medium or High
  • 4: High or Very High

See Also[edit | edit source]