Doe a PVS tutorial Actually exist

Started by
20 comments, last by Gazza 23 years, 8 months ago
I am beginning to winder after have no responses on any newsgruops whether or not a tutorial on calculating a PVS really does exist. (And i dont mean dans home page because any thing that covers PVS in 2 paragraphs is just taking the piss) I have a Leaf based bsp and i want to 1.Calculate where the portals are 2.Calculate which portals can see each other does ANYBODY know ANYTHING about this?
Advertisement
I have read a lot of articles but I have yet to find an article on the internet that covers the subject of PVS. Your best bet for that is to look at books instead. I know Real-Time Rendering mentions it, I don''t remember in how much detail though. Come to think of it Real-Time Rendering has an excellent resource page online. Maybe you''ll find what you are looking for there.



- WitchLord

AngelCode.com - game development and more - Reference DB - game developer references
AngelScript - free scripting library - BMFont - free bitmap font generator - Tower - free puzzle game

well i guess that if witchlord doesn''t know how to do it...

so it''s damn hard...

hmmmm ask john carmack or someone
well thanks anyway.

I have found one or two bits and peices but the people who write the tutorials must know that you have to understand it anyway to understand their tutorials.

chicken & egg.

I dont think carmack would have the time
I didn''t say I didn''t know how to do it, just that I haven''t read any articles on it

I have never made a BSP renderer, but I know the theory behind it. I also have a pretty good grasp of how to compute the PVS for the tree. It''s just that I don''t have the time to do any lenghty explanation of the subject right now. In case you haven''t noticed I have failed to upload my tutorial on particle systems for more than a month now

I''ll try but I don''t promise, to whip up something on how I would compute the PVS. Be warned, it''s highly unlikely that I will have the time to do this any time soon.

- WitchLord

AngelCode.com - game development and more - Reference DB - game developer references
AngelScript - free scripting library - BMFont - free bitmap font generator - Tower - free puzzle game

Hi!

A guy named Dan Royer has something up along these lines. Check out his site.

http://members.home.net/droyer/

Under programming tutorials you''ll find some useful stuff. Unfortunately, the site isn''t updated much.

MK42
Thanks MK42. Now I don''t have to take the time to write this piece, at least not for a while.

Was Dan''s tutorial enough for you Gazza? If you have any questions I would be happy to try to answer them

- WitchLord

AngelCode.com - game development and more - Reference DB - game developer references
AngelScript - free scripting library - BMFont - free bitmap font generator - Tower - free puzzle game

I don''t want to sound Godlike, but I think I am one of the few people that has ever implemented a PVS system that worked.

I gave up because the compiler I wrote would sometimes say that some sectors were visible when they shouldn''t be.

So, here''s my method:

* I don''t think it''s too hard to calculate portals, so I won''t explain that just now.
* Other sectors are only ever visible through portals, and the same goes for other sectors beyond that.
* Therefore, to find out if a sector is visible from another, you need to work out which portals you would theoretically be looking through. In most cases, just test every one.
* Trace loads of rays from each portal in the one sector that you''re testing, to each other portal in the other sector. If it hits any opaque objects, cancel that ray. Normally, the ray should only be traced around the egdes of the portal. For simplicity, I keep all my portals made out of triangles.

And it works! Well, apart from the bug I mentioned at the beginning. Unfortunately, I can''t send any source code out, because I don''t give out valuable code like this which I''ve worked very hard one.

Try implementing a PVS compiler from this theory.

Alternatively, look at the source code from a Quake map compiler



========
Smidge
www.smidge-tech.co.uk
========
--Mr Smidge
Hi witchlord,

No, dans tutorial did not really help that much, I always new the basic theory behind it but nowehere near enough to start implementing a PVS system.

These are the two bits i am unsure of:

1. I have a leaf based bsp tree and i have to generate the portals for it.I read somewehere that this can be achieved by creating a polygon at each node which encompasses the bounding set and cliping it to all the other nodes.Eventually you are left with lots of polygons .You feed these into the tree and record what leafs they pop out in.If two polygons (portals) pop out in the same leaf then this is a potential portal.Then clip ot to all the polygons in the leaf discarding any parts behind any faces.
How to implememnt this god only knows, any advice witch lord?

2. If i sucessfully find all the portals then i have to somehow cast an anti penumbra of the entire portal onto all other portals it can possible touch.
Of this i have NO idea?

Smidges bug is probably comming from the fact that all the edges of a portal may not touch a portal but some point inside the portal may still touch it.Therefore a relaible way of detemining if the entire portal is not touching another is needed

any advice would be greatly appreciated



Hi.

I have the new Adrian Perez book "Advanced 3D Game Programming Using DirectX 7.0". He has a whole chapter on Scene Management but does not give very much code.

However, he does mention that PVS is very complicated and a guy called Seth Teller wrote an entire 150 page thesis on the subject. This thesis is apparently available at:
http://graphics.lcs.mit.edu/~seth/

Hope this helps.
MantisKid.

This topic is closed to new replies.

Advertisement