Textured brushes exposed to the void

Discussion in 'Mapping Questions & Discussion' started by Seitan, Jan 24, 2017.

  1. Seitan

    Seitan L3: Member

    Messages:
    136
    Positive Ratings:
    16
    [​IMG]


    Do I have to worry about them?
     
  2. Crash

    aa Crash func_nerd

    Messages:
    3,148
    Positive Ratings:
    4,746
    Nope
     
    • Thanks Thanks x 1
  3. killohurtz

    aa killohurtz Distinction in Applied Carving

    Messages:
    1,003
    Positive Ratings:
    1,155
    Nope, any world brush face (or partial face) touching the void will be culled automatically by the compiler.
     
    • Thanks Thanks x 1
  4. Seitan

    Seitan L3: Member

    Messages:
    136
    Positive Ratings:
    16
    Thanks, also what about these?:
    [​IMG]
    Textured brushes between walls
     
  5. Crowbar

    aa Crowbar perfektoberfest

    Messages:
    1,429
    Positive Ratings:
    1,173
    Surprisingly few textured-but-not-seen faces need dealing with. And none do require it. Compiler culls them if they face a world brush, or void, which removes lots of the faces. Those that you do better off nodrawing are the ones that are compiled but never seen, such as the faces that are hidden by an entity or a prop, as well as the unseen faces of brush entities, or just facing outwards of the level.
    And yeah, if you miss some by accident, you can not even notice it. Badlands does have some faces not nodrawed I can refer to.
     
  6. Micnax

    aa Micnax I maek map

    Messages:
    2,056
    Positive Ratings:
    1,382
    For textured brushes against walls not exposed to the void, you'd want to nodraw them but the performance hit isn't typically big at all.

    Though it's worth noting that putting nodraw on your non-seen faces will let you use the :rendernodraw: feature to turn on/off those faces, which I find is helpful for flying around the map in Hammer at interior areas instead of simply seeing yellow everywhere.
     
  7. worMatty

    aa worMatty Repacking Evangelist

    Messages:
    1,072
    Positive Ratings:
    833
    A while ago I made an experimental map for testing how brush faces were culled, in different circumstances. I wanted to see which faces were culled, so I could avoid needlessly texturing things with :nodraw:. You may find this image useful:

    [​IMG]

    And here is the map: MAP.

    A summary:
    • World brush faces against other world brush faces will be chopped and culled.
    • World brush faces will cull func_detail faces if those faces are entirely covered by the world brush face. Partially-exposed func_detail faces will be rendered in full.
    • Two faces from the same entity (func_detail, func_brush, func_door and so on) which touch each other will be chopped and culled.
    • func_detail covering world brushes can cause ugly shadows. func_detail doesn't chop and cull world brush faces.
    Note that faces belonging to dynamic brush entities which are covered by world brushes are not culled, likely because such brushes are intended to move, so culling would interfere with their appearance.

    For stairs you can do a few things. You can chop the steps themselves into triangles, so their backs are diagonal, and put a new triangle world brush behind them that will cull the wall and floor hidden by the stairs. func_detail the steps so they don't cut visleaves. Alternatively, leave all your stairs as world brushes, then put a diagonal :hint: face along their slope, inline with your :playerclip:/:blockbullets: brush, which will trim the portals created by the steps during VBSP so they don't cut the surrounding visleaves. Or use props for your stairs and fill their back in with a world brush or two for sealing and culling.
     
    • Thanks Thanks x 8
    • Like Like x 1