IP Library Granted Patent US 9,600,926
Granted Patent B2
US 9,600,926 · App. 14/570,710 · Granted Mar 21, 2017

Apparatus and method decoupling visibility bins and render tile dimensions for tiled rendering

Inventor: Peter L. Doyle (El Dorado Hills, CA)
Assignee: Intel Corporation
G06T15/40G06T1/20G06T15/005
View Patent ↗
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 9,600,926
App. No.
14/570,710
Granted
Mar 21, 2017
Kind
B2
Abstract

An apparatus and method are described for decoupling visibility bins and render tile dimensions for tiled rendering. In one embodiment of the invention, a single visibility pass over the scene objects is performed and all the visibility bins are generated in parallel. This allows for high performance when the number of render tiles exceeds the number of visibility bins. The regions upon which visibility testing/recording is done is decoupled from the render tile regions in one embodiment of the invention. This allows a given visibility bin to map to multiple render tiles, thus allowing a fixed number of visibility bins to support any number of render tiles.

Claims (66)

1. A method comprising:

separating, by a processing device, a visibility testing region from a render tile region;

performing, by the processing device, a single visibility pass over a scene object using visibility bins that are generated in parallel, wherein each of the visibility bins is capable of being associated with more than one of render tiles such that a fixed number of the visibility bins supports a flexible number of the render tiles, wherein the flexible number of the render tiles exceeds the fixed number of the visibility bins.

2. The method of claim 1 , further comprising:

receiving, by the processing device, the scene object;

performing, by the processing device, geometry processing on the scene object; and

computing, by the processing device, bounding box of the geometry processed scene object.

3. The method of claim 2 , further comprising:

for each visibility bin,

performing, by the processing device an intersection test; and

marking, by the processing device, the scene object as visible in each visibility bin in response to a successful intersection test.

4. The method of claim 3 , wherein performing the intersection test comprises:

reading, by the processing device, an extent of each visibility bin; and

determining, by the processing device, whether the bounding box intersects the extent of each visibility bin.

5. The method of claim 4 , further comprising:

determining, by the processing device, render tile state, render tile extent and associated visibility bin of each render tile;

performing, by the processing device, a scene object visibility test; and

rendering, by the processing device, the scene object in response to a successful scene object visibility test.

6. The method of claim 5 , wherein performing the scene object visibility test comprises:

determining, by the processing device, whether the scene object is marked as visible or not in the visibility bin.

7. The method of claim 5 , further comprising:

discarding, by the processing device, the scene object in response to an unsuccessful scene object visibility test.

8. At least one non-transitory computer readable storage medium comprising a set of instructions which, when executed by a computing device, cause the computing device to:

separate a visibility testing region from a render tile region;

perform a single visibility pass over a scene object using visibility bins that are generated in parallel, wherein each of the visibility bins is capable of being associated with more than one of render tiles such that a fixed number of the visibility bins supports a flexible number of the render tiles, wherein the flexible number of the render tiles exceeds the fixed number of the visibility bins.

9. The non-transitory medium of claim 8 , wherein the computing device is further to:

receive the scene object;

perform geometry processing on the scene object; and

compute bounding box of the geometry processed object.

10. The non-transitory medium of claim 9 , wherein the computing device is further to:

for each visibility bin,

perform an intersection test; and

mark the scene object as visible in each visibility bin in response to a successful intersection test.

11. The non-transitory medium of claim 10 , wherein the computing device to perform the intersection test is to:

determine an extent of each visibility bin; and

determine whether the bounding box is to intersect the extent of each visibility bin.

12. The non-transitory medium of claim 11 , wherein the computing device is further to:

determine render tile state, render tile extent and associated visibility bin of each render tile;

perform an object visibility test; and

render the scene object in response to a successful object visibility test.

13. The non-transitory medium of claim 12 , wherein the computing device to perform the object visibility test is to:

determine whether the scene object is marked as visible or not in the visibility bin.

14. The non-transitory medium of claim 12 , wherein the computing device is further to:

discard the scene object in response to an unsuccessful object visibility test.

15. An apparatus comprising:

a graphics processing engine to:

separate a visibility testing region from a render tile region;

perform a single visibility pass over a scene object using visibility bins that are generated in parallel, wherein each of the visibility bins is capable of being associated with more than one of render tiles such that a fixed number of the visibility bins supports a flexible number of the render tiles, wherein the flexible number of the render tiles exceeds the fixed number of the visibility bins.

16. The apparatus of claim 15 , wherein the graphics processing engine is further to:

receive the scene object;

perform geometry processing on the scene object; and

compute bounding box of the geometry processed scene object.

17. The apparatus of claim 16 , wherein the graphics processing for each visibility bin,

perform an intersection test; and

mark the scene object as visible in each visibility bin in response to a successful intersection test.

18. The apparatus of claim 17 , wherein the graphics processing engine to perform the intersection test is to:

determine an extent of each visibility bin; and

determine whether the bounding box is to intersect the extent of each visibility bin.

19. The apparatus of claim 18 , wherein the graphics processing engine is further to:

determine render tile state, render tile extent and associated visibility bin of each render tile;

perform an object visibility test; and

render the scene object in response to a successful object visibility test.

20. The apparatus of claim 19 , wherein the graphics processing engine to perform the object visibility test is to:

determine whether the scene object is marked as visible or not in the visibility bin.

21. The apparatus of claim 19 , wherein the graphics processing engine is further to:

discard the scene object in response to an unsuccessful object visibility test.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2014
From: DOYLE, PETER L.
To: INTEL CORPORATION
Reel/Frame 034509/0846 →
Continuity (1)
Related Publication 20160171751A1 · Jun 16, 2016