Fri 11 February 2005 - 15:07

Visibility pyramids

I've just achieved the first goal of this pre-project: I've implemented a "visibility pyramid" method in order to detect whether or not an object is visible to the camera (based on the outline of previous coders).

The already implemented algorithm was based on classic ray-casting, that consists of sending rays from the camera to the object and detect a potential collision. The number of rays is obviously finite (this represents the resolution of the camera).

The algorithm I've implemented is completely different. It consists of creating pyramids which apex is the center of the camera and which base is a face of the model to track. If the face is partially obstructed by something, then the pyramid is cut to keep only the visible part of the object face. A recursive cutting of all the obstructed parts of the face is proceeded. Eventually the pyramid is either null and therefore the object is not visible or not null in which case the object is at least partially visible.

Is that clear ??? :huh:

Posted by Julien | Permalink | Categories: Research (my PhD)