What does VIS do?

Discuss the construction of maps and the tools to create maps for 3D games.
CocoT
Posts: 695
Joined: Tue Dec 14, 2004 5:39 pm
Location: Belly-Gum
Contact:

What does VIS do?

Post by CocoT »

Newbie alert number #732

Apparently, VIS "builds the potentially visible set"... What does that mean? I was wondering what VIS does since, as we know, it's not needed to run the map.
I ask because I am working on a map that runs kind of slow and I was wondering if VISing the map would speed things up (I know the answer to that could be "well, VIS it and you'll see, but I was interested in knowing more about what that program actually does :))
Sajt
Posts: 1215
Joined: Sat Oct 16, 2004 3:39 am

Post by Sajt »

VIS takes all the BSP leafs (partitioned zones of the map) and for each one of them, calculates a list of what other leafs are visible from that one. It's used in rendering for culling out areas that aren't visible, (completely behind a wall), so if you don't have it the entire map will be rendering each frame (although DarkPlaces can do some crazy real-time VIS Jr.). So yeah it'll speed your map rendering up, unless it's an outdoor map or an extremely complex BSP in which case you shouldn't be using Quake :D And I believe it's also used in other things e.g. idle-monster-sees-player checks.
F. A. Špork, an enlightened nobleman and a great patron of art, had a stately Baroque spa complex built on the banks of the River Labe.
CocoT
Posts: 695
Joined: Tue Dec 14, 2004 5:39 pm
Location: Belly-Gum
Contact:

Post by CocoT »

Ooh, I see, thanks Sajt! :)
Yeah, my map is kind of outdoor, I guess. A lot is shown at the same time, at any rate. Fortunately, there are things (details) I can probably take out without the general aesthetic suffering too much.
scar3crow
InsideQC Staff
Posts: 1054
Joined: Tue Jan 18, 2005 8:54 pm
Location: Alabama

Post by scar3crow »

A good example of how vis affects things is to turn on wateralpha in a map not vis-ed for transparent water. The leaf you are within will see the leaf that is submerged in the water as not being visible, as it acts with the attitude of a brush with a liquid texture is completely opaque. Hence when you turn it on, you get an HOM of sorts, as the gl renderer considers it looking into the void to an extent.

But when it knows it can see that leaf from this other leaf... no problem, okey dokey roger wilco.

Holy shit, I apparently know something o_O
Sajt
Posts: 1215
Joined: Sat Oct 16, 2004 3:39 am

Post by Sajt »

Whoa, your O_o was backwards and I tripped out for a second there..completely vacant. I think you just killed some of my brain cells.
F. A. Špork, an enlightened nobleman and a great patron of art, had a stately Baroque spa complex built on the banks of the River Labe.
Spike
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK
Contact:

Post by Spike »

the pvs is also used for culling entities on the server. Without vising your maps, your networking stuff is 5 times less efficient... depending on the size of the map, of course.
scar3crow
InsideQC Staff
Posts: 1054
Joined: Tue Jan 18, 2005 8:54 pm
Location: Alabama

Post by scar3crow »

Thats some damn handy info which I didnt know about, but does make sense... I honestly wasnt aware of how such things could affect a connection, or things like 'internal bandwidth' until the Helms Deep map when LordHavoc was explaining to me the intensity of all the knights waking up despite their simple ai.

CocoT, if you want to see how vis can affect a map, run around with r_novis 1 on - in an id map at that. BTW, with that turned on, a map that normally didnt support translucent water will now render it just fine.
CocoT
Posts: 695
Joined: Tue Dec 14, 2004 5:39 pm
Location: Belly-Gum
Contact:

Post by CocoT »

Oooh :)
CocoT
Posts: 695
Joined: Tue Dec 14, 2004 5:39 pm
Location: Belly-Gum
Contact:

Post by CocoT »

(10 days later)

Mmm, vis worked ok on some smaller test maps, but now I have this bigger map which somehow won't vis.
I tried seeing if turning it into a Q3 map would help frame rate and had the feeling it did, but then I had some issues with liquid textures (rendered as solids) and the skybox didn't load (which might actually explain why the frame rate was a bit better).
Anyway, for the moment I'm thus not vissing(?) it and hit a low of around 10 frame per second in some areas/angles. The problem is that I do need to add some more stuff (not a lot, but still), so we'll see.
Stupid question: does external texture loading help frame rate? I had the feeling I gained a little by using a retexturing project rather than use default Q1 texture settings.
frag.machine
Posts: 2126
Joined: Sat Nov 25, 2006 1:49 pm

Post by frag.machine »

CocoT wrote:(10 days later)

Mmm, vis worked ok on some smaller test maps, but now I have this bigger map which somehow won't vis.
I tried seeing if turning it into a Q3 map would help frame rate and had the feeling it did, but then I had some issues with liquid textures (rendered as solids) and the skybox didn't load (which might actually explain why the frame rate was a bit better).
Anyway, for the moment I'm thus not vissing(?) it and hit a low of around 10 frame per second in some areas/angles. The problem is that I do need to add some more stuff (not a lot, but still), so we'll see.
Stupid question: does external texture loading help frame rate? I had the feeling I gained a little by using a retexturing project rather than use default Q1 texture settings.
If you cannot VIS a map, there's a hull breach somewhere. Find it, seal it, and try to VIS again. Repeat until success. :P

When it's really hard to find the hull, i use a dirty trick: I first remove all entities but the player (of course, save a backup first ;) ), then I make a really big wall dividing the map in the half. If this not work at first, I either move the wall along the map or add one or more walls, dividing it yet more, until the map is "sealed" again (or, at least, the section where the player is). Then I start moving or removing the first big wall, then the others, until I can pinpoint the leak. Usually, some brush with the wrong size, leaving a small and hidden opening that only VIS can see.

The best way to avoid this is to run VIS every 30 minutes or so, because you can easily identify what could be causing the leak.

And about your question: no, external textures could only make any difference in the map loading times.
I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC :) (LordHavoc)
Dr. Shadowborg
InsideQC Staff
Posts: 1120
Joined: Sat Oct 16, 2004 3:34 pm

Post by Dr. Shadowborg »

Reading this may help as well in locating leaks.

http://www.inside3d.com/showtutorial.php?id=184

Also, make sure you're using good tools, like the Bengt Jardrup ones.

http://user.tninet.se/~xir870k/

Edited to remove links to equake site.
Last edited by Dr. Shadowborg on Thu Dec 14, 2006 11:21 pm, edited 2 times in total.
leileilol
Posts: 2783
Joined: Fri Oct 15, 2004 3:23 am

Post by leileilol »

dr., that's a very evile and warezy url you're linking to.......
i should not be here
Dr. Shadowborg
InsideQC Staff
Posts: 1120
Joined: Sat Oct 16, 2004 3:34 pm

Post by Dr. Shadowborg »

CheapAlert wrote:dr., that's a very evile and warezy url you're linking to.......
Well, excuuuuuuuuse me for using google, PRINCESS. =P
leileilol
Posts: 2783
Joined: Fri Oct 15, 2004 3:23 am

Post by leileilol »

excuse this
i should not be here
CocoT
Posts: 695
Joined: Tue Dec 14, 2004 5:39 pm
Location: Belly-Gum
Contact:

Post by CocoT »

Wow, thanks frag.machine and Dr Shadowborg, super good pieces of advice and links. I really appreciate it! :) I realize I really know little about mapping and it's fun learning.
I'll try it out again today and will keep you updated with the results.

Oh, and since I'm at it: what does "cluster with too many portals" mean? I get that error on another map :(

Update1 : Weird, when I try the "pointfile" thingy, I get the following, "0 point read / point at 0 0 0"... In DP, I get axes pointing to the center of the map grid. Does that mean there is no leak?
Last edited by CocoT on Thu Dec 14, 2006 4:45 pm, edited 1 time in total.
Post Reply