IP Library Patent Application 10790904
Patent Application
App. No. 10/790,904

Method and apparatus for object based visibility culling

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
10/790,904
Abstract

A method and apparatus for object-based visibility culling includes receiving a plurality of draw packets, such as pixels or vertices. The method and apparatus further includes comparing each of the plurality of draw packets to a bounding volume object, wherein the bounding volume object may be a low resolution geometric representation of a specific object. Whereupon, for each of the plurality of draw packets, if the draw packet is deemed potentially visible, setting a visibility query identifier and rendering the draw packets having the set visibility query identifier.

Claims (42)

1 . A method for object based visibility culling comprising:

receiving a plurality of draw packets;

comparing each of the plurality of draw packets to a bounding volume object;

for each of the plurality of draw packets, if the draw packet is deemed potentially visible, setting a visibility query identifier; and

rendering the draw packets having the set visibility query identifier.

2 . The method of claim 1 further comprising:

prior to rendering the draw packets:

providing the draw packets to a command processor such that the command processor checks for the set visibility query identifier.

3 . The method of claim 2 wherein prior to the step of rendering the draw packet the method further includes:

fetching a plurality of indices for the draw packet.

4 . The method of claim 2 wherein when the visibility query identifier is not set, indicating the draw packets on as not being visible, the command processor discards the draw packet prior to fetching a plurality of indices.

5 . The method of claim 2 further comprising:

prior to providing the draw packets to the command processor:

stalling for a predetermined time interval to insure the setting of the visibility query identifier.

6 . The method of claim 1 wherein the step comparing each of the plurality of draw packets to the bounding volume object includes at least one of the following: back-face culling, view frustrum comparison, user-clip plane discard, and hierarchical-z discard.

7 . A method for object based visibility culling comprising:

receiving a plurality of draw packets;

comparing each of the plurality of draw packets to a bounding volume object;

for each of the plurality of draw packets, if the draw packet is deemed potentially visible, setting a visibility query identifier;

providing the draw packets to a command processor such that the command processor checks for the set visibility query identifier; and

rendering the draw packets having the set visibility query identifier, including fetching a plurality of indices for the draw packet.

8 . The method of claim 7 wherein when the visibility query identifier is not set, indicating the draw packets on as not being visible, the command processor discards the draw packet.

9 . The method of claim 7 further comprising:

prior to providing the draw packets to the command processor:

stalling for a predetermined time interval to insure the setting of the visibility query identifier.

10 . The method of claim 7 wherein the step comparing each of the plurality of draw packets to the bounding volume object includes at least one of the following: back-face culling, view frustrum comparison, user-clip plane discard, and hierarchical-z discard.

11 . An apparatus for object based visibility culling, the apparatus comprising:

a general processing unit; and

a memory device storing executable instructions such that the general processing unit, in response to the executable instructions:

receives a plurality of draw packets;

compares each of the plurality of draw packets to a bounding volume object;

for each of the plurality of draw packets, if the draw packet is deemed potentially visible, sets a visibility query identifier; and

renders the draw packets having the set visibility query identifier.

12 . The apparatus of claim 11 wherein the processor, in response to the executable instructions:

prior to rendering the draw packets, provides the draw packets to a command processor such that the command processor checks for the set visibility query identifier.

13 . The apparatus of claim 12 wherein the processor, in response to the executable instructions:

fetches a plurality of indices for the draw packet.

14 . The apparatus of claim 12 wherein the processor, in response to the executable instructions:

when the visibility query identifier is not set, indicates the draw packets on as not being visible, the command processor discards the draw packet.

15 . The apparatus of claim 12 wherein the processor, in response to the executable instructions:

prior to providing the draw packets to the command processor, stalls for a predetermined time interval to insure the setting of the visibility query identifier.

16 . The apparatus of claim 11 wherein the step executed by the processor, in response to the executable instructions, of comparing each of the plurality of draw packets to the bounding volume object includes at least one of the following: back-face culling, view frustrum comparison, user-clip plane discard, and hierarchical-z discard.

Assignments (2)
CHANGE OF NAME Recorded Dec 30, 2010
From: ATI TECHNOLOGIES INC.
To: ATI TECHNOLOGIES ULC
Reel/Frame 025573/0443 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 22, 2004
From: MITCHELL, JASON L.; MOREIN, STEPHEN L.; TAYLOR, RALPH C.; CAREY, JOHN
To: ATI TECHNOLOGIES INC.
Reel/Frame 015125/0402 →