1. Forums
  2. Discord
  3. About Mapcore
  4. Patreon Supporters
  • Login
  • Register
  • Search
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • More Options
  1. Mapcore
  2. Discussions
  3. Level Design

mitering corners - reduce visleafs? good for optimization?

  • Dradz
  • October 2, 2009 at 4:22 AM
  • omega322
    • October 5, 2009 at 1:15 PM
    • #21

    I can give you the bottom line to this Topic, It does nothing.

    [Blocked Image: http://i49.photobucket.com/albums/f264/omega322/Misc/example1.jpg]

    In the above pic, When the compiler runs the vis leafs and comes to the corner, it sees the same thing, the compiler doesn't care what the shape of the block is, it only counts whats within the boarders of that block (Hence why when you compile and run around a map, if you no cliped outside the map, you don't see a hulking brush emitted from the wall.

    BUT

    Mitering your Corners does have one major Benefit. When your compiler compiles lighting, it bounces from the light source around itself to the nearby walls, it calculates which walls or faces are hit and saves the shadow/light data of each face.

    [Blocked Image: http://i49.photobucket.com/albums/f264/omega322/Misc/example2.jpg]

    So now, as seen above, when you don't Miter your corners, you end up with 3 separate faces being stored or "hit" by light, mitering however limits it to the two faces allowed! This may not seem like much, but, if you have a map with about.....125 corners (Which is really small TBH, you other Level designers can back me on that) that means your map is collecting light/shadow data on over 375 faces VS. Mitering, you'll only use 250. (Basically it will streamline your lighting/shadowing and make the overall file size smaller)

  • Zeta
    • October 5, 2009 at 4:20 PM
    • #22

    [Blocked Image: http://i35.tinypic.com/2n1zz3c.jpg]

    I find this works well for interiors, each half of the wall being 8 units.

  • Ginger Lord
    • October 5, 2009 at 6:51 PM
    • #23
    Quote from the0rthopaedicsurgeon

    I always do this out of habit, but I also only ever create one brush in any map, the rest are all copy and pasted then edited to whatever I need, so if I need a mitred corner wall I copy and paste one I've already made. I also spend hours nodrawing hidden faces, ie inside a mitred join or flush with another face, which looking at Valve's maps and what other people have said I don't think is necessary? I've never heard a proper answer either way on that.

    Same as I do, habits die hard.

  • omega322
    • October 6, 2009 at 4:32 PM
    • #24
    Quote from Ginger Lord

    Same as I do, habits die hard.

    Faces touching in hammer are not rendered, so weather they have textures or nodraw doesn't matter. Like in a Mitered corner.

  • Steppenwolf
    • October 17, 2009 at 12:17 AM
    • #25

    I always mitter my stuff when i work in bsp. Probably not as important anymore today since most PC's are powerfull enough to run even a messy map in source in highest details and fluid framerates. But it used to be very important in the past. Without mittering 2 triangles more get rendered per corner and if the wall is a static brush it creates a new tiny vis leaf. Now if you have a couple more such tiny vis leafs they will cut each other overproportianaly the more you have and you have very easily a mess of hundrets or thousands of vis leafs where only a couple dozen would be appropiate. This mess has a very negative effect on the vis compile time (what should take 2-3 minutes takes hours) and it also has a bad effect on the performance ingame.

    edit:

    Found this old pic in my archive:

    [Blocked Image: http://i36.tinypic.com/9k13js.jpg]

    Pretty much shows what i mean with tiny vis leafs cutting each other and creating a mess. On the button my map after proper mitering, func_detailing and vis optimizing.

  • AlexM
    • October 17, 2009 at 2:06 AM
    • #26
    Quote from Steppenwolf

    I always mitter my stuff when i work in bsp. Probably not as important anymore today since most PC's are powerfull enough to run even a messy map in source in highest details and fluid framerates. But it used to be very important in the past. Without mittering 2 triangles more get rendered per corner and if the wall is a static brush it creates a new tiny vis leaf. Now if you have a couple more such tiny vis leafs they will cut each other overproportianaly the more you have and you have very easily a mess of hundrets or thousands of vis leafs where only a couple dozen would be appropiate. This mess has a very negative effect on the vis compile time (what should take 2-3 minutes takes hours) and it also has a bad effect on the performance ingame.edit:

    Found this old pic in my archive:

    [Blocked Image: http://i36.tinypic.com/9k13js.jpg]

    Pretty much shows what i mean with tiny vis leafs cutting each other and creating a mess. On the button my map after proper mitering, func_detailing and vis optimizing.

    nice example, I'm convinced

  • Lord Ned
    • October 18, 2009 at 9:08 AM
    • #27

    To my knowledge: Mitering is a waste of time.

    It only adds hours to development time.. Every time you want to change a wall? Either have to vertex it it, or streach it out and re-miter it via Clipping.

    This compared to just stretching the brush.

    There is no reason it would affect VISleafs as VBSP merges the faces... Presumably before it creates the leafs.

    A mitered corner should be no different from an unmitered one after the face-merging.

    In the example Steppenwolf posted: That's deceiving. I bet all of the visleaf reduction is caused by func_detailing, and hints/skips, etc. and not mitering.

    Gonna go test my theory.

    [Blocked Image: http://i38.tinypic.com/141qstz.jpg]

    Well then. A few less portals, but less portals non the less. I'm surprised.

    Still not worth the time/effort especially for anything but a final... Unless you're somehow really pressed for leafs.

  • Steppenwolf
    • October 18, 2009 at 10:27 AM
    • #28

    In your example you have exactly 4 vis leafs more. Thats the number of extra faces non mittering causes. Now create some more of these rooms on different heights and not paralell to this one and see whats happening.

    The only surprising part is where vis cut the leafs. But not really because it always was kinda random. And it gets more random the more complex the geometry gets. Even with hints/skip its sometimes a pain in the ass to properly control it.

    edit:

    Also keep in mind that the extra time you spent with mittered walls you get easily back on the vis compile time.

    Whats true is that func_detailing plays the most important role in vis optimizing. From my experience a lot of level designers dont have the courage to do it properly but thats a different story and worth its own thread.

  • Lord Ned
    • October 18, 2009 at 11:26 AM
    • #29

    You wanna know how many threads I've run across where "Compiling takes forever", and how many wrong statements I've seen people give about optimization?

    I've heard that Nodraw gives you 95% of your optimization right off the bat...

    I've heard that some map compiles can take up to several days. (Seriously what the fuck are you doing?)

    I'd write a book on it but well.. Z@C beat us all, except no one bothers to read it when their map takes years to compile.

    Also: If you can prove that mitering your corners from brush 1, and going along as you resize and such is faster than the compile times you'll spend, I'll miter my corners.

  • Steppenwolf
    • October 18, 2009 at 12:16 PM
    • #30

    For vis its very simple to explain long compile times. The more vis leafs you have up goes the the compile time overproportional. So the difference between a quick compile time and a long compile time sometimes isnt even that big on paper. Just a question of proper optimizing.

    Also you have to stop to be so pretentious about it when your test basicly proofed my point. Bsp merging the faces? Take a very very close look at your own example picture.

  • Minos
    • October 18, 2009 at 3:18 PM
    • #31
    Quote from Steppenwolf

    I always mitter my stuff when i work in bsp. Probably not as important anymore today since most PC's are powerfull enough to run even a messy map in source in highest details and fluid framerates. But it used to be very important in the past. Without mittering 2 triangles more get rendered per corner and if the wall is a static brush it creates a new tiny vis leaf. Now if you have a couple more such tiny vis leafs they will cut each other overproportianaly the more you have and you have very easily a mess of hundrets or thousands of vis leafs where only a couple dozen would be appropiate. This mess has a very negative effect on the vis compile time (what should take 2-3 minutes takes hours) and it also has a bad effect on the performance ingame.edit:

    Found this old pic in my archive:

    [Blocked Image: http://i36.tinypic.com/9k13js.jpg]

    Pretty much shows what i mean with tiny vis leafs cutting each other and creating a mess. On the button my map after proper mitering, func_detailing and vis optimizing.

    Not sure if that's a good example to show what you mean since it's a very old version of Abdallah with almost no brushes converted to func_detail and no hint brushes at all.

    I personally never cared about mitering corners. The small performance gain (if it even exists) is not really worth the extra time put on it.

    Fun fact: Steppenwolf was actually the guy who taught me how to properly use hint brushes back in the good ol' INS days

  • Lord Ned
    • October 18, 2009 at 3:28 PM
    • #32
    Quote from Steppenwolf

    For vis its very simple to explain long compile times. The more vis leafs you have up goes the the compile time overproportional. So the difference between a quick compile time and a long compile time sometimes isnt even that big on paper. Just a question of proper optimizing.Also you have to stop to be so pretentious about it when your test basicly proofed my point. Bsp merging the faces? Take a very very close look at your own example picture.

    You don't need to sit here and explain how it works. I know how it works. I already said I was wrong. What else do you want?

  • Defrag
    • November 14, 2009 at 8:48 PM
    • #33

    It looks neater and possibly does do a little good, but it's a fairly pointless optimisation. As Chris said, there's little point in spending any time worrying about low-level optimisations. If I can't measure the difference, I don't care.

    Besides, it always used to really annoy me when I was resizing brushes and forgot the corner was mitred. IMO you get far more bang for your buck if you do high level visibility sanity checking early on, then do a func_detail / hint brush / LOD pass as you reach the end of development. I had very similar results to stepp on an optimisation pass using the exact same tool, and none of the significant improvements were down to mitring.

  • Psy
    • November 14, 2009 at 10:50 PM
    • #34

    Mitering is pointless most of the time. Yes, a lack of mitering may create more visleaves but the performance difference is miniscule and, anyway, compile times are hardly going to suffer because of it.

  • Wesley Tack
    • November 15, 2009 at 6:08 AM
    • #35

    I think a good use of func_brush and func_details and having a clean outer layout is good enough, I don't do that mitering thing either and so far I haven't had many weird visleaf or performance issues happening to me. It seems to me like extra work for something you don't really need.

  • fonfa
    • December 5, 2009 at 2:18 PM
    • #36

    But then when you miter corners you have a easier time texturing stuff. I always do it because that's how I learnt on goldsrc, that's how my brain works. For me it's easier to visualize the map that way and makes me work faster.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!

Register Yourself Login
Discord

The Mapcore Discord is our lively IRC channel of the 2000s reborn. Chat about level design, gaming, and more.

Latest Posts

  1. Tangerine

    Harry Poster
    July 18, 2026 at 11:10 AM
  2. Any of the old guard still around? D:

    Warby
    July 12, 2026 at 8:23 PM
  3. About our archived forums

    Thrik
    June 30, 2026 at 2:12 PM
  4. Mapcore Discord

    mason_fan123
    June 24, 2026 at 8:52 PM
  5. [CS2] Valley

    Serialmapper
    June 22, 2026 at 11:56 AM
  6. Free Music / SFX Resource - Over 2500 Tracks

    Eric Matyas
    June 18, 2026 at 12:32 PM
  7. Pango [WIP]

    Elowen
    June 11, 2026 at 10:13 AM
  8. [CS2] Dvina

    Jeremy Rivera
    June 11, 2026 at 10:03 AM
  9. Bridges 2.0 by NEXSIDE, MAP SHOWCASE. ( Steam Workshop )

    MrTrane18
    June 1, 2026 at 7:46 PM
  10. Classic Maps Reborn For CS2

    SillySpaceCat
    May 31, 2026 at 10:33 PM
  1. Privacy Policy
  2. Contact
Powered by WoltLab Suite™