Quick question; func_detail and nodraw

Discussion in 'Mapping Questions & Discussion' started by Armadillo of Doom, Sep 4, 2008.

  1. Armadillo of Doom

    aa Armadillo of Doom Group Founder, Lover of Pie

    Messages:
    949
    Positive Ratings:
    614
    In short, one of my func_detail brushes is covering up a section of wall on it's border. That section (the part facing the func_detail) is nodraw. After unchecking the Func Detail vis group, I noticed that I have a lot of spots like this. So my question; is this ok? Since func_details are invisible for rendering purposes, would it go right through and render whatever texture it is covering? In this case, the nodraw, which you can see through w/ a hall of mirrors effect, and that's bad. Any help is much appreciated :)
     
  2. Beetle

    Beetle L9: Fashionable Member

    Messages:
    627
    Positive Ratings:
    141
    I'm confused by what you're asking - I'm probably the only one.
    I am pretty sure that any worldbrush (nodraw on it or not) still blocks vis whereas func_details with any texture don't. And the hall of mirror effects are from nodraws being on worldbrushes.
     
  3. Armadillo of Doom

    aa Armadillo of Doom Group Founder, Lover of Pie

    Messages:
    949
    Positive Ratings:
    614
    And therein lies the problem. I have a func_detail that blocks another brush, and that other brush is nodraw. So I'm unsure if the nodraw gets rendered, and if that would be more expensive than simply texturing said brush.
     
  4. Beetle

    Beetle L9: Fashionable Member

    Messages:
    627
    Positive Ratings:
    141
    ahh. so its a func_detail NOT textured with nodraw in front of a world brush textured in nodraw? If thats the case its still worth texturing the world brush in nodraw because I believe it saves just as much as if you're texturing 2 world brushes' sides of 2 brushes that aren't ever going to be seen, as you would when you're optimizing normally.

    edit: I just thought of a problem though. If the worldbrush is always rendered, and you have a passage thats so long that the func_detail render distance is shorter than that then you'll see the world brush, but that's the only problem I see.
     
    • Thanks Thanks x 1
    Last edited: Sep 4, 2008
  5. VelvetFistIronGlove

    aa VelvetFistIronGlove

    Messages:
    567
    Positive Ratings:
    437
    Quick summary: func_detail in front of nodraw is just fine.

    Nodraw does exactly what it says on the tin: doesn't draw. The "hall of mirrors" effect you see with a nodraw is due to that area not being drawn over, and just keeping the pixel colours that were there in the previous frame. "Rendering" nodraw is zero-cost, because it does nothing.

    Also, having a nodraw face behind a func detail can be better visually: if they line up at the edges you'll get nice shadows where they meet; func_details in front of a single large face on a world brush can often produce odd-looking shadows: try both and compare the difference to see what I mean.

    Oh, and beetle: func_details have infinite render distance; func_lod is the one that fades out.
     
    • Thanks Thanks x 1
  6. Armadillo of Doom

    aa Armadillo of Doom Group Founder, Lover of Pie

    Messages:
    949
    Positive Ratings:
    614
    Love this community, I do :)
     
  7. FaTony

    FaTony Banned

    Messages:
    902
    Positive Ratings:
    160
    I'm not 100% sure but VBSP cuts invisible faces. So it's
    [​IMG]
    in Hammer and
    [​IMG]
    in BSP.

    To make sure run ur map in mat_wireframe 1 and check.