How far does vis see?

Discuss the construction of maps and the tools to create maps for 3D games.
Post Reply
Mexicouger
Posts: 514
Joined: Sat May 01, 2010 10:12 pm
Contact:

How far does vis see?

Post by Mexicouger »

Well, I am wondering Why vis can see on the other side of walls and stuff. If I make a Brush and Make it func_wall, So it doesn't split the brush it's touching, Will Vis see it as an object and a wall? I mean, what's the negatives to using Func_walls.

Because I have a room under the ground. I have some quake heads in there. The room is not visible at all where I am, But if I get directly above the room and Look down, While I have r_speeds 1 on, My epoly count will go up, Indicating that It is reading the model. Why is that? is there a certain thickness or something?
Downsider
Posts: 621
Joined: Tue Sep 16, 2008 1:35 am

Post by Downsider »

func_wall is treated like any other brush-based entity and it does not affect VIS whatsoever.
Mexicouger
Posts: 514
Joined: Sat May 01, 2010 10:12 pm
Contact:

Post by Mexicouger »

So when you say Doesn't effect Vis whatsoever, Do you mean Vis ignores it, OR vis runs just like normal, As if it weren't even a Func_wall or entity?

I think I gotcha. I took your idea, And made some complex brushes on 1 side, And put a func_illusionary with an invisible texture blocking off me and those complex brushes. It still sees them. yet vis takes 6 minutes to vis this little box. And when I go into the map and Type r_speeds 1, It sees the brushes... Vis is flippin Confusing...
Downsider
Posts: 621
Joined: Tue Sep 16, 2008 1:35 am

Post by Downsider »

VIS is taking a long time because of the complex brushes you were talking about. It creates visleafs for them.
negke
Posts: 150
Joined: Wed Apr 16, 2008 5:53 pm
Contact:

Post by negke »

What the player sees is not automatically what the engine sees.

VIS determines which point in the map can be seen from where, thus what the engine has to render at any given time. The map is divided into so-called portals depending on the geometry which then undergo a visibility check. Like Downsider says, func_ entites don't affect VIS, it only focuses on solid geometry. Different areas need to be properly blocked off by regular brushes for this to work (google "vis blocking"). That's why there are so many L-shaped corridors in stock Quake, for example.

To get an idea of how VIS works, run through a stock map with "r_showtris 1" (in Fitzquake or DP). This is what the engine sees.
Spike
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK
Contact:

Post by Spike »

func_* does not block light, they only accept it.
goldenboy
Posts: 924
Joined: Fri Sep 05, 2008 11:04 pm
Location: Kiel
Contact:

Post by goldenboy »

everything that's an entity except worldspawn is ignored by vis. In other words, a func_wall does NOT block the line of sight, to vis at least.

Doors don't block vis either (!)

The only thing that will block the line of sight, to vis, is solid brush geometry - corners of corridors, solid walls (like in donut corridors - you know, corridors to both sides and a solid wall in the middle).

If you can see directly from one area into another, and you have a very long line of sight this way, Quake has to render both areas at the same time. Ideally, everything that the player cannot see is not drawn (culled), so the game will run faster (lower r_speeds).

Slanted brushes, like triangle terrain etc, will increase the number of portals required as far as I know... -> complicated brushwork.

Vis is a pretty weird customer, though. Sometimes you think you have decent vis blocking, and then when you look closer (some engines have r_lockpvs or r_lockfrustum commands, which "freeze" the current state of rendering and let you move around to see what is really being drawn), you'll have a nice surprise where half the map is indeed drawn... because VIS found a loophole somewhere.

endless "fun".

It is tempting to say "fuck VIS" and require recent hardware instead.
Mexicouger
Posts: 514
Joined: Sat May 01, 2010 10:12 pm
Contact:

Post by Mexicouger »

Alright, I getcha now. I guess that Explains why Entity brushes don't fracture Solids. Makes sense now. 1 Time, I made the entire map a func_wall, And I got an error Because It didn't find any brushes. That explains alot. And I must have some sort of leak or something. I guess Ima fire it up In darkplaces and Do some testing. (I normally test in Kurok psp). It just kinda sucks having to go and find a super small area where VIS sees. But the end result is Promising. I just wish that Someone Came up with an awesome way to trick VIs and We could get some speedup for psp mods.
Downsider
Posts: 621
Joined: Tue Sep 16, 2008 1:35 am

Post by Downsider »

Mexicouger wrote:Alright, I getcha now. I guess that Explains why Entity brushes don't fracture Solids. Makes sense now. 1 Time, I made the entire map a func_wall, And I got an error Because It didn't find any brushes. That explains alot. And I must have some sort of leak or something. I guess Ima fire it up In darkplaces and Do some testing. (I normally test in Kurok psp). It just kinda sucks having to go and find a super small area where VIS sees. But the end result is Promising. I just wish that Someone Came up with an awesome way to trick VIs and We could get some speedup for psp mods.
If there's a leak, VIS doesn't run.
Mexicouger
Posts: 514
Joined: Sat May 01, 2010 10:12 pm
Contact:

Post by Mexicouger »

Downsider wrote:
Mexicouger wrote:Alright, I getcha now. I guess that Explains why Entity brushes don't fracture Solids. Makes sense now. 1 Time, I made the entire map a func_wall, And I got an error Because It didn't find any brushes. That explains alot. And I must have some sort of leak or something. I guess Ima fire it up In darkplaces and Do some testing. (I normally test in Kurok psp). It just kinda sucks having to go and find a super small area where VIS sees. But the end result is Promising. I just wish that Someone Came up with an awesome way to trick VIs and We could get some speedup for psp mods.
If there's a leak, VIS doesn't run.
I know that, I meant If there is a small crack, dividing 2 areas, VIS thinks it can see the other side. I apparently Have a small crack somewhere, So vis can partially see on the other side.
Post Reply