pfPortals library available for 2.0

New Message Reply Date view Thread view Subject view Author view

David Luebke (luebke++at++cs.unc.edu)
Tue, 26 Mar 1996 21:31:07 -0500 (EST)


Hello,

This is to announce the release of the pfPortals visibility software
for Performer 2.0. The current release is a straightforward port of
the pfPortals package for Performer 1.2 and does not take advantage of
any of 2.0's new features yet. Eventually I'll have a C++ API, better
integration with standard Performer culling, and some other neat
features, but the existing version should be enough to get you
going. Introducing the new features will extend rather than change the
existing API, so go ahead and check out the new version -- upgrading
to future releases should involve minimal effort.

PfPortals is a FREE public domain library which provides portal-based
culling in Performer applications. The package can be downloaded via
anonymous ftp at:
    ftp.cs.unc.edu:/pub/users/luebke/pfPortals.tar.Z
or over the World Wide Web at:
    http://www.cs.unc.edu/~luebke/pfPortals/visibility.html.

New in pfPortals2.0:

        - Full support for multiprocessing
        - A "builder" API for easily constructing pfPortal-compatible scenes
        - fltLoader, a Performer library for reading MultiGen 14.2
          OpenFlight (tm) files with portal information embedded in
          the comments.
        - perfport, a simple perfly-based application designed to work
          with pfPortals and fltLoader.
        - Numerous bug fixes, cosmetic code cleanups, etc.

Documentation is provided in html and postscript form. Here is an
extract from the introduction:

------

The library consists of a number of CULL and DRAW callbacks which are
attached to nodes in the Performer scene graph, and an interface for
controlling the behavior of those callbacks. The pfPortals library was
developed by David Luebke at the University of North Carolina during
the 1995 Spring semester.

The portal-based culling approach attempts to improve rendering
performance for large models by culling away portions of the model
which are completely occluded. It works best in scenarios such as
architectural walkthroughs, where most of the model is typically
hidden from the viewer by walls, floors and ceilings. Portal-based
culling subdivides the model into cells and portals. A cell is a
polyhedral volume of space; a portal is a transparent 2D region upon a
cell boundary that connects adjacent cells. Cells can only "see"
other cells through the portals. In an architectural model, the cell
boundaries should follow the walls and partitions, so that cells
roughly correspond to the rooms of the building. The portals likewise
correspond to the doors and windows through which neighboring rooms
can view each other.

The pfPortals library implements the portal-based culling scheme
described in "Portals and Mirrors: Simple, Fast Evaluation of
Potentially Visible Sets", by David Luebke and Chris Georges, in the
Proceedings of the 1995 Symposium on Interactive 3-D Graphics (April
1995; ACM Press). Briefly, this algorithm determines what cell
contains the viewer, and what portals of that cell are visible to the
viewer. Next the code recursively determines what portals of adjacent
cells are visible through the portals already determined to be
visible. This approach accumulates a list of visible cells without
considering portions of the model far removed from the visible set.

--Copyright--

The pfPortals library is a public domain software package and may be freely
used, modified, and distributed, provided certain conditions are met. The
following copyright appears in the source code and applies to this
documentation as well:

/***************************************************************************\

  Copyright 1995 The University of North Carolina at Chapel Hill.
  All Rights Reserved.

  Permission to use, copy, modify and distribute this software and its
  documentation without fee, and without a written agreement, is
  hereby granted, provided that the above copyright notice and the
  complete text of this comment appear in all copies, and provided that
  the University of North Carolina and the original authors are
  credited in any publications arising from the use of this software.

  IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL
  OR THE AUTHOR OF THIS SOFTWARE BE LIABLE TO ANY PARTY FOR DIRECT,
  INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING
  LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS
  DOCUMENTATION, EVEN IF THE UNIVERSITY OF NORTH CAROLINA AND/OR THE
  AUTHOR OF THIS SOFTWARE HAVE BEEN ADVISED OF THE POSSIBILITY OF
  SUCH DAMAGES.

  The author of the pfPortals1.2 software library may be contacted at:

  US Mail: David Patrick Luebke
                       Department of Computer Science
                       Sitterson Hall, CB #3175
                       University of N. Carolina
                       Chapel Hill, NC 27599-3175

  Phone: (919)962-1825

  EMail: luebke++at++cs.unc.edu

\*****************************************************************************/

Enjoy!

Dave

--
David Luebke
luebke++at++cs.unc.edu

New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:52:35 PDT

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