-vis requirements?


(-SSF-Sage) #21

I only did remove the origin keys from the command post’s clips and the trigger_objective_info. Then I added an origin brush for each of those entities. That’s all what I basicly edited.

You had time to post before me. Caulk hull=caulk basicly, but with different editor image. You can seal your map with caulk, but then you need to have something in front of the caulk. Caulk blocks vis too, if the brush is structural.

Ps. Sorry for post editing rampage.


(eiM) #22

You (eiM) should do a run around your map with detailed filtered off, seal it (doors are esp. to check) and remove the box around it

sealing then means using caulk brushes and such as structurals to block vis leaking when details are filtered … or am I totaly wrong now :stuck_out_tongue:


(-SSF-Sage) #23

Only structural brushes block vis and can seal a map from the void. A caulked structural brush works just as good as a textured one for sealing the map or blocking vis.

As detailed brushes don’t block vis and can’t seal a map from the void, filter them. Then find any holes in your structural geometry and fill the holes with a structural caulked brush for example.


(obsidian) #24

1.5.0 is a little more sensitive as to how it handles “funny” brushes like those with degenerate planes. I haven’t had problems moving maps back and forth between 1.4.0 and 1.5.0 as long as all the brushes are in good standing. Brush Cleanup can help repair misbehaving brushes which I assume is the problem. Of course, there’s nothing wrong with sticking to just using 1.4.0, but I still suggest running Brush Cleanup periodically just in case.

Sage, you mentioned that, “The structural geometry seemed quite complex” and it really shouldn’t be. Caulk hull isn’t a different caulk texture. The “Caulk Hull” method is a slightly different construction technique that greatly simplifies vis and overall performance. Basically, the vast majority of the map is converted to detail and then large, axial, structural, rectangular blocks of caulk are placed in behind brushes only where actual portals and void-sealing hulls are needed.

Links:

Images missing (6 year old thread), but the explanation is good enough that you may be able to visualize what he’s doing.
http://www.quake3world.com/ubb/Archives/Archive-000004/HTML/20020625-6-022411.html?

Complete sample map construction.
http://www.quake3world.com/ubb/Archives/Archive-000004/HTML/20020703-6-020488.html?


(-SSF-Sage) #25

[QUOTE=obsidian;185863]1.5.0 is a little more sensitive as to how it handles “funny” brushes like those with degenerate planes. I haven’t had problems moving maps back and forth between 1.4.0 and 1.5.0 as long as all the brushes are in good standing. Brush Cleanup can help repair misbehaving brushes which I assume is the problem. Of course, there’s nothing wrong with sticking to just using 1.4.0, but I still suggest running Brush Cleanup periodically just in case.

[/QUOTE]

Yes that is true. But if you want to open a map file that has been made with 1.4.0 and the mapper didn’t know about it, it’s a mess. If I used 1.4.0 with 1.5.0 there wouldn’t be such a problem because I know what I can or can’t do.

Well, I meant that it is pretty much separated to bigger and smaller rooms, and there’s many of those. The setting of detail vs structural seemed fine enough compared to the geometry. If he formed a separate caulk hull behind the actual walls, there would be loss of performance. But notice again, I had a very quick look at it.

Well put in words! :stroggbanana: (I just mentioned that there are two “separate” shaders; caulk and caulkhull, that only differents by the editor image.)


(eiM) #26

Sage you said that my problem was due to my bugged commandpost. Though as already posted in the private message it does not even work when I delete the commandpost out of my map. So I’m still at the same problem I had before, just that I optimised all the caulk hull stuff now so I’d be ready for some first fps tests.
Please help someone x)


(DerSaidin) #27

Hello,
eiM, I’ll help - ask me on IRC.

Also check through adlernest map source with detail filtered on/off for an example of structural vs detail.
I didn’t do a traditional caulk hulling most of the time (non-flat terrain is the exception where it could be called caulk hull technique). Looking back on it, there’s certainly room for improvement.
http://dersaidin.ath.cx/maps/adlernest_source.zip

Optimizing will be a case of cleaning up the detail/structural as much as possible, and applying hint brushes where necessary.

There are two things which you need to optimize, it is a balance between the two:
The number of portals (fewer portals, simpler, larger portal groups) - this is the cleaning up structural/detail part.
The number of triangles in the portals visible from any point on the map (less tris visible is better) - this is the hint brushes part.

On one hand, you can have every brush structural. This would mean that every plane of every tri on the map would ‘cut’ the visible set. So if something goes behind something, it would no longer be shown. To do this the compiler has to cut tris into multiple tris so that part of them can be hidden when the view is past the blocking brush’s plane. You would more than double the number of triangles on the map, and the number of vis portals would be ridiculous - maybe 1 per 2 or 3 of tris.

On the other hand, you can have every brush detail. Then everything on your map is in the pvs (potentially visible set) from every point on the map (and the whole thing is in a sky/chalk hull to prevent leaks). This end of the scale is bad because there are so many tris visible to the renderer. Your client doesn’t need to think about, or even know about stuff behind 5 walls, on the other side of the map.

Between the two extremes is a balance where vis portals do not create extra tris unnecessarily (they are as large as possible), and vis portals are broken up enough to exclude areas from pvs of a point, when those areas are irrelevant to a client at that point.

If you still need more FPS you may have to consider altering the shape of some parts of the map, so that it can block vis. For example, put a few extra corners in a hallway.

edit:more