Re: Visible triangles in a scene

New Message Reply Date view Thread view Subject view Author view

Hansong Zhang (hzhang++at++torque.engr.sgi.com)
Thu, 7 Jan 1999 11:53:16 -0800 (PST)


Do you want the exact triangles that are (partially) visible, or
instead only a conservative estimation? If you want exact visibility, see
below; if an conservative estimation is enough, then any existing
view-frustum culling, backface culling and occlusion culling methods can
do it.

And why do you want to get the visible triangles? If it's for rendering
acceleration, you'll have to use the conservative methods, since exact
visibility is expensive to compute. If it's for other purposes, then you
can obtain exactly which triangles are visible through the item-buffer,
i.e. encode triangle id's as color, read back the rendered image and
translate pixel color back to triangle id.

Hansong

> You can test the bounding sphere of a particular subtree for inclusion in a
> supplied channel with the function pfChanContainsSphere().
>
> I've used this function to implement a 'preCull' algorithm to generate
> pfDisplayLists containing all the geometry that is visible in a given
> viewing condition. It works well.
>
> ch.
>
> Simon Gerblich wrote:
>
> > Hi,
> >
> > Take a look at glFeedbackBuffer. You can use it to get back a list of
> > all of the polygons in the visible scene. You can then go through each
> > polygons vertex list and see its x, and y value and its depth and color
> > value.
> >
> > Simon
> >
> > > Hi,
> > > I want to know whether there is an easy way
> > > (or a way at all) to find which all triangles are visible
> > > (at least partialy) in a scene, given a model, viewpoint and direction.
> > > There are of course methods to intersect line segments of different
> > > lengths for each pixel, check the closest point, find the corresponding
> > > triangle etc. That seems to take too long to compute for each view.
> > > I want to know if there are any faster ways taking advantage of
> > > some Performer feature or other ...
> > >
> > > Thanks in advance!
> > >
> > > Anoop.
> > >
> > > =======================================================================
> > > List Archives, FAQ, FTP: http://www.sgi.com/software/performer/
> > > Submissions: info-performer++at++sgi.com
> > > Admin. requests: info-performer-request++at++sgi.com
> >
> > --
> > ================================================
> > Simon Gerblich
> > Acacia Research Phone (08) 8272 9455
> > 153 Greenhill Road Fax (08) 8272 6899
> > Parkside SA 5063 Int. +61 8 8272 xxxx
> > mailto:simong++at++acres.com.au
> > ================================================
> > =======================================================================
> > List Archives, FAQ, FTP: http://www.sgi.com/software/performer/
> > Submissions: info-performer++at++sgi.com
> > Admin. requests: info-performer-request++at++sgi.com
>
> --
> ------------------------------------------
> Chris Henderson ~ Multigen-Paradigm Inc
> (972) 960-2301 FAX (972) 960-2303
> mailto:ch++at++paradigmsim.com
> http://www.paradigmsim.com
>
>
>


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Thu Jan 07 1999 - 11:53:30 PST

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.