Using ancillary geometry for visibility determination
AssigneeSun Microsystems, Inc.
InventorsHenry A. Sowizral, Karel Zikan, Randall G. Keller
Life of this patent
Estimating the term…
Abstract
A system and method for determining graphical object visibility by utilizing ancillary geometry. When comparing visibility cones with bounding hulls of scene graph hierarchy leaf nodes, ancillary geometry may be used in place of the bounding hulls and the leaf node's actual geometry. The ancillary geometry may be created through a manual process, or by an automated decimation process. The ancillary geometry may be a simplistic analytic surface (e.g., a sphere or a cylinder), a NURB surface, a collection of polygons, or a combination of surfaces and polygons.
Claims29
A method for performing visibility culling, the method comprising:
- receiving a scene graph including graphics data describing a plurality of graphics objects,
- generating one or more bounding hulls for the graphics objects,
- determining ancillary geometry for the graphics objects,
- performing a first visibility determination on a first graphics object using one or more of the corresponding bounding hulls, and
- if the first graphics object is determined to be visible by the first visibility determination, performing a second visibility determination on the first graphics object using the ancillary geometry corresponding to the first graphics object, and
- if the first graphics object is determined to be visible by the second visibility determination, identifying the corresponding graphics object as visible for rendering.
A computer program embodied on a computer-readable medium, wherein the computer program comprises a plurality of instructions configured to:
- receive information describing a scene graph, wherein the scene graphic includes graphics data describing a plurality of graphics objects, wherein each graphics object comprises a plurality of graphics primitives;
- comparing a portion of a selected visibility frustum with a bounding hull that corresponds to one or more of the graphics objects;
- and
- if the portion of the selected visibility frustum intersects the bounding hull, comparing the portion of the selected visibility frustum with ancillary geometry corresponding more closely to the one or more graphics objects than the bounding hull;
- and
- if the portion of the selected visibility frustum intersects the ancillary geometry, identifying the one or more graphics objects for rendering.
A method for performing visibility culling, the method comprising:
- receiving a set of graphics data, wherein the graphics data describes a plurality of graphics objects, wherein each graphics object comprises a plurality of graphics primitives;
- generating a hierarchy of bounding hulls corresponding to the graphics objects;
- comparing a portion of a selected visibility frustum with a particular bounding hull that is the lowest level in the hierarchy and that corresponds to one or more selected graphics objects;
- and
- if the portion of the selected visibility frustum intersects the bounding hull, comparing the portion of the selected visibility frustum with alternate geometry corresponding to the one or more selected graphics objects, wherein the alternate geometry is not used for rendering the object;
- and
- if the portion of the selected visibility frustum intersects the alternate geometry, identifying the one or more selected graphics objects for rendering.
A method for generating displayable images, the method comprising:
- searching a hull tree and a cone tree to determine one or more visibile objects;
- performing rendering computations on the one or more visible object for the first leaf cone to generate displayable pixels;
- wherein said searching the hull tree and the cone tree includes (a) determining that a leaf hull of the hull tree intersects a first cone of the cone tree, (b) accessing ancillary geometry for an object corresponding to the leaf hull, (c) determining visibility of the object with respect to the first cone based one the ancillary geometry.
A method for generating displayable images, the method comprising:
- searching a hull tree and a cone tree to determine one or more visibile objects;
- performing rendering computations on the one or more visible object for the first leaf cone to generate displayable pixels;
- wherein said searching the hull tree and the cone tree includes (a) determining a cone-hull distance between a first leaf hull of the hull tree and a first cone of the cone tree, (b) computing an ancillary distance of an object corresponding to the leaf hull with respect to the first cone based on ancillary geometry for the object in response to the cone-hull distance being smaller than a visibility distance value associated with the first cone, and (c) updating the visibility data including the visibility distance value associated with the first cone if the ancillary distance is smaller than the visibility distance value.
Dependencies are inferred from the claim text.