Image drawing system and method with real-time occlusion culling
First Claim
1. A method of drawing an image constructed, relative to a viewpoint and a field of view, from a three-dimensional object data base comprising:
- in object space, dynamically identifying individual occluders within the field of view;
in object space, determining and culling objects from the object data base which are within the field of view, but fully occluded from sight of the viewpoint by the identified occluders; and
drawing objects which have not been culled from the object data base relative to the point of view.
1 Assignment
0 Petitions
Accused Products
Abstract
To avoid needless processing of non-visible portions of a 3D scene, an occlusion culling method which dynamically identifies large occluders as the viewpoint moves is applied to discard non-visible polygons early in the graphics pipeline, i.e., in object space. The method is conservative, i.e., it overestimates the set of visible polygons; it exploits spatial coherence by using a hierarchical data structure; and it exploits temporal coherence by reusing visibility information such as supporting and separating computed for previous viewpoints. Objects are called from a three-dimensional object database if they are fully occluded from sight of the viewpoint due to either occluders near the viewpoint or occluders near the objects themselves. Objects which have not been called are drawn. Supporting planes tangential to an occluder and object set are used to determine occlusion.
87 Citations
36 Claims
-
1. A method of drawing an image constructed, relative to a viewpoint and a field of view, from a three-dimensional object data base comprising:
-
in object space, dynamically identifying individual occluders within the field of view;
in object space, determining and culling objects from the object data base which are within the field of view, but fully occluded from sight of the viewpoint by the identified occluders; and
drawing objects which have not been culled from the object data base relative to the point of view. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
dynamically determining information about viewing regions of object space from which objects are occluded and retaining this information for reuse by subsequent culling operations corresponding to a changed viewpoint.
-
-
5. A method as claimed in claim 4 wherein a region is defined by supporting planes which are tangential to an occluder and an object set.
-
6. A method as claimed in claim 5 wherein the object set is a cell partitioned from the object space.
-
7. A method as claimed in claim 5 wherein the object set is a single object.
-
8. A method as claimed in claim 1, further comprising identifying significant occluders by statically identifying potential occluders based on apparent size and dynamically selecting significant occluders based on current viewing direction.
-
9. A method as claimed in claim 8 wherein a determination of apparent size of an occluder is based on an estimate of the solid angle the potential occluder subtends relative to the viewpoint.
-
10. A method as claimed in claim 8 wherein a determination of apparent size of an occluder is based on an estimate of the solid angle the potential occluder subtends relative to a center of an object set.
-
11. A method as claimed in claim 1 wherein the step of culling comprises:
-
identifying a potential occluder relative to an object set from the object database;
defining a region of space from which the object set is occluded from sight by the potential occluder; and
culling the object set when the point of view is within the defined region.
-
-
12. A method of drawing an image constructed relative to a viewpoint and a field of view, from a three-dimensional object data base comprising:
-
in object space, culling objects from the object data base through tests including;
determining and culling objects which are fully occluded from sight of the viewpoint due to occluders near to the point of view, and determining and culling objects which are fully occluded from sight of the viewpoint due to occluders near to the objects; and
drawing objects which have not been culled from the object data base relative to the point of view. - View Dependent Claims (13, 14, 15, 16)
retaining information about regions of object space from which each object is occluded for reuse by subsequent culling operations corresponding to a changed viewpoint.
-
-
17. A system for drawing an image constructed, relative to a viewpoint and a field of view, from a three-dimensional object data base comprising:
-
an occluder identifier which in object space, dynamically identifies individual occluders within the field of view;
a culler which in object space, determines and culls objects from the object data base which are within the field of view, but fully occluded from sight of the viewpoint by the identified occluders; and
a drawer which draws objects which have not been culled from the object data base relative to the point of view. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
-
25. An article of manufacture, comprising:
-
a computer-readable medium;
on the computer-readable medium, a computer-implemented program for drawing an image constructed, relative to a viewpoint and a field of view, from a three-dimensional object data base, the program comprising;
an occluder identifier which in object space, dynamically identifies individual occluders within the field of view;
a culler which in object space, determines and culls objects from the object data base which are within the field of view, but fully occluded from sight of the viewpoint by the identified occluders; and
a drawer which draws objects which have not been culled from the object data base relative to the point of view. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
identifying a potential occluder relative to an object set from the object database, defining a region of space from which the object set is occluded from sight by the potential occluder, and culling the object set when the point of view is within the defined region.
-
-
36. An article of manufacture, comprising:
-
a computer-readable medium;
in the computer-readable medium, a computer-implemented method for drawing an image constructed, relative to a viewpoint and a field of view, from a three-dimensional object data base, the method comprising the steps of;
culling, in object space, objects from the object data base through tests including;
determining and culling objects which are fully occluded from sight of the viewpoint due to occluders near to the point of view, and determining and culling objects which are fully occluded from sight of the viewpoint due to occluders near to the objects; and
drawing objects which have not been culled from the object data base relative to the point of view.
-
Specification