hessi Posted October 31, 2006 Report Posted October 31, 2006 Yeah, I agree. But with a 10 faces tunnel like mine, if you add a cubic shape outside, it adds 4 faces.. 40%. I think that adding faces just to shorten the compilation time isn't a good idea, especially when VVIS manages to make "cylindrical" vis-leaves at last. I don't think that's a problem. Also, isn't the lightning way much crappier on func_details ? Anyway, it's a trick I often used on my past maps and I tend on not using it anymore. Don't know why, I think I'm giving to much hope in VVIS. you can either continue ignoring our comments or accept that there are people with something called experience. why should there be any additional polygons drawn? nodraw still creates leaves. creating non cubic leaves is ALWAYS a pain in the ass.
OrnateBaboon Posted November 1, 2006 Report Posted November 1, 2006 This is a great optimisation site. All you need to know really. Function detail has the same light properties as world geometry. Basically, if a world brush is not vis blocking or being used to activate a hint brush, turn it into a function detail. That includes whole buildings. http://www.student.ru.nl/rvanhoorn/opti ... pter=intro edit - having said that about the light and the function details, this site says this "There is only a minor bug, which causes light to bounce around a func_detail because the func_detail doesn't break up the world brushes around it (this effect is called lightbleeding, as the light is 'bleeding' around the brushes. Suffice to say that if you didn't understand that, don't worry about it. You will only see it when you make a large brush ( eg wall or floor ) func_detail which blocks light/casts shadows". I have never experienced it though.
NykO18 Posted November 1, 2006 Report Posted November 1, 2006 you can either continue ignoring our comments or accept that there are people with something called experience. Yeah, and you can just try to understand what I say. I'm not contesting your Ô great knowledge, I'm just arguing and making assumptions on things I'm not sure about in order to learn. If talking and contesting is forbidden on this forum, it should have been written somewhere. Remember something: it's not because people ask questions that they're dumb or that they know nothing about the subject. Thanks. This is a great optimisation site. Yeah thanks, but I already read it a bunch of times. Ralph van Hoorn wrote this tutorial several years ago.. I was using it for HL1. You can't learn everything from tutorials, sometimes you just need to ask
Rokusho39 Posted November 1, 2006 Author Report Posted November 1, 2006 Well, thnks for the help guys. I have so far managed to get from this: To here: Granted there is a lot more still to do, until I'm confortable with it, but its definetly a start in my opinion. Probably take me a couple more days until I get something worth trying a compile with.
ReNo Posted November 1, 2006 Report Posted November 1, 2006 I'm a sucker for using hint brushes to the extreme to pretty much manually build my BSP. In a lot of places this is unnecessary as BSP would have cut things up that way anyway, but (if you know what you are doing), it doesn't hurt to do it's job for it. Even if you don't take it to the same extreme as I do, adding some well placed hint brushes can save masses of unnecessary BSP leaves, and therefore cut down VIS time significantly. A good place to start with hint brushes would be in your doors and windows - BSP has a tendancy of pulling leaves out through doorways and into the open areas on either side, thereby making awkward leaf layouts. To minimise this, at each of your doors/windows, build a brush, covered in the skip texture, that fills up the hole. Now texture each of the open sides of the brush (the ones facing into the areas on either side) with the hint texture. This won't help in EVERY case, but it does help in many, and so its good to get into the habit of shoving these hint brushes into doors and windows. Use GLView (as per Defrag's batch file) and/or mat_leafvis 1 in-game to get a feel for what effect your hint brushes are having. Once you've got a better understanding of how it all works you'll probably run into loads more ways that hint brushes could help optimise your BSP. Hint brushes aren't only useful for cutting down on unnecessary visibility!
Steppenwolf Posted November 1, 2006 Report Posted November 1, 2006 Yeah, I agree. But with a 10 faces tunnel like mine, if you add a cubic shape outside, it adds 4 faces.. 40%. I think that adding faces just to shorten the compilation time isn't a good idea, especially when VVIS manages to make "cylindrical" vis-leaves at last. I don't think that's a problem. Also, isn't the lightning way much crappier on func_details ? Anyway, it's a trick I often used on my past maps and I tend on not using it anymore. Don't know why, I think I'm giving to much hope in VVIS. Calculation of a trillion weird vis leafs is for sure more expensive then a few additional faces. My technique not only decreases compile times it also improves ingame performance. You are right that lighting on func_details can be crappier. But only if you got "overlapping" brush faces on them. the bsp compile often doesn't cut the faces correctly like it would do with static brushes so you have to help the bsp by hand.
dissonance Posted November 1, 2006 Report Posted November 1, 2006 why should there be any additional polygons drawn? nodraw still creates leaves. creating non cubic leaves is ALWAYS a pain in the ass.is there any way to completely get rid of them (assuming they're non-sealing brushes)? should i be using skip instead of nodraw?
ReNo Posted November 1, 2006 Report Posted November 1, 2006 Not sure I understand your question diss - completely get rid of what? The faces? The leaves? Skip covered brushes won't do anything - the point of skip is that faces textured with it are ignored by the compile tools (which isn't entirely true, but its near enough). If you have a brush covered entirely in the skip texture, then there is no purpose to the brush (unless you created it to aid you in hammer, but that's another story), so you might as well just delete it. Nodraw exists precisely for scenarios like the ones being talked about here - creating solid brushes for BSP/VIS purposes, without adding any rendering costs. If you want to simplify your BSP, then you can use nodraw brushes to make a simpler, not necessarily visible "hull" to your level, and use func_detail brushes to fill in the awkwardly shaped architecture.
Dradz Posted November 1, 2006 Report Posted November 1, 2006 I'm a sucker for using hint brushes ..... A good place to start with hint brushes would be in your doors and windows... Right now, I put areaportals in all the windows/doors to help in performance -- I guess I should also be putting in hint brushes in these same doors/windows? Does it matter where the hint brush is with respect to the areaportal? ....to the outside or inside of the door/window?
Dradz Posted November 1, 2006 Report Posted November 1, 2006 You are right that lighting on func_details can be crappier. But only if you got "overlapping" brush faces on them. the bsp compile often doesn't cut the faces correctly like it would do with static brushes so you have to help the bsp by hand. ahh, I am using some func details like the above picture to simulate an arch -- ideally, I should use vertex editing and fix the "arches" to be more like the one with the smiley guy?
dissonance Posted November 1, 2006 Report Posted November 1, 2006 Not sure I understand your question diss - completely get rid of what? The faces? The leaves? Skip covered brushes won't do anything - the point of skip is that faces textured with it are ignored by the compile tools (which isn't entirely true, but its near enough). If you have a brush covered entirely in the skip texture, then there is no purpose to the brush (unless you created it to aid you in hammer, but that's another story), so you might as well just delete it. Nodraw exists precisely for scenarios like the ones being talked about here - creating solid brushes for BSP/VIS purposes, without adding any rendering costs. If you want to simplify your BSP, then you can use nodraw brushes to make a simpler, not necessarily visible "hull" to your level, and use func_detail brushes to fill in the awkwardly shaped architecture.but for faces that aren't part of the hull and are going to be culled anyway, should i be using skip rather than nodraw? if i understand correctly, both take nothing to render, but skip will compile faster. is this correct?
Rokusho39 Posted November 1, 2006 Author Report Posted November 1, 2006 *goes off to put in hint brushes in all doorways*
ReNo Posted November 1, 2006 Report Posted November 1, 2006 Diss: If a face is to be culled from your map (e.g. its outside the hull), then it really isn't of much importance whether you use skip or nodraw, or any other texture for that matter. Its gonna get culled whatever you plaster on it What texture you use only matters if the faces are inside your hull. In these cases, using skip would mean the face is culled completely (no collision, no lightmap, no BSP cutting, no nothing), whereas using nodraw would mean the face still exists (still has collision, BSP cutting) but doesn't have any properties related to rendering (no lightmap, and not rendered). For these reasons, you couldn't use skip covered faces as part of your hull, such as was the case in the "fake cubic shaped room behind a func_detail arch" scenariobut you COULD (and should) use nodraw. Dradz: Area portals should generally be 1 unit thick and placed in the middle of the window/door's depth. The hint brush should be the same depth as the hole, so that its two hint covered faces are flush with the openings (e.g. if you have an 8 unit thick wall with a door in it, place a 1 unit thick area portal 3 or 4 units in from either side, and place an 8 unit thick hint brush with the hint faces flush with each side).
dissonance Posted November 1, 2006 Report Posted November 1, 2006 Thanks, that cleared a lot up. So, nodraw for hull brushes, skip for interior brushes? I'm trying to get the fastest compile possible.
Recommended Posts