IP Library Granted Patent US 11,270,506
Granted Patent B2
US 11,270,506 · App. 16/908,350 · Granted Mar 8, 2022

Foveated geometry tessellation

Inventors: Jun Murakawa (Foster City, CA); John Doolittle (San Mateo, CA); Justin Beck (San Bruno, CA); Brendan Rehon (San Mateo, CA); Michael Thomas Kutner (Mountain View, CA)
Assignee: SONY COMPUTER ENTERTAINMENT INC.
G06T17/20G06T11/40G06T15/005G06T15/20G06T19/20G06T2210/36
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 11,270,506
App. No.
16/908,350
Granted
Mar 8, 2022
Kind
B2
Abstract

In graphics processing data is received representing one or more vertices for a scene in a virtual space. A projection of the vertices onto a screen space of a display device is performed. A density of the vertices is adjusted for selected portions of the screen space, such that a lower density of vertices is present in selected portions of the screen space. Primitive assembly is performed on the vertices to generate a one or more primitives in screen space from the projection of the vertices onto the screen space. A finished frame is then generated by performing pixel processing to assign pixel values to the pixel or pixels that are part of the corresponding primitives. In some implementations, the finished frame can be stored in the memory or displayed on the display device.

Claims (46)

1. A method for graphics processing with a graphics processing system having a processing unit, comprising:

with the processing unit, performing a tessellation of a first set of polygons projected onto a screen space of a display device to divide the first set of polygons to produce a second set of polygons represented by tessellated vertex data, wherein the tessellated vertex data is characterized by a first density distribution of vertices in one or more regions of the screen space and by a second density distribution of vertices in one or more remaining regions of the screen space, wherein the first and second density distribution at least depend upon a user proximity to the display device, wherein a minimum density for the second density distribution decreases when the user moves closer to the screen, wherein a maximum density for the first density distribution increases when the user moves closer to the screen, wherein the first density is higher than the second density, wherein the first density distribution of vertices follows a smooth limit surface and the second density distribution of vertices has a larger error tolerance than the first density distribution of vertices; and

with the processing unit, performing subsequent graphics operations on the second set of polygons.

2. The method of claim 1 , wherein said performing subsequent graphics operations on the second set of polygons includes storing the tessellated vertex data in a memory.

3. The method of claim 1 , wherein said performing subsequent graphics operations on the second set of polygons includes transmitting the tessellated vertex data to another processing system.

4. The method of claim 1 , wherein said performing subsequent graphics operations on the second set of polygons includes performing primitive assembly on the set of tessellated vertices to generate a one or more primitives in screen space.

5. The method of claim 1 , wherein said performing subsequent graphics operations on the second set of polygons includes:

performing primitive assembly on the tessellated vertex data to generate one or more primitives in screen space; and

performing scan conversion on the one or more primitives to determine which pixel or pixels of the plurality of pixels are part of corresponding primitives of the one or more primitives.

6. The method of claim 1 , wherein said performing subsequent graphics operations on the second set of polygons includes:

performing primitive assembly on the tessellated vertex data to generate one or more primitives in screen space; and

performing scan conversion on the one or more primitives to determine which pixel or pixels of the plurality of pixels are part of corresponding primitives of the one or more primitives; and

generating a finished frame by performing pixel processing to assign pixel values to the pixel or pixels that are part of the corresponding primitives.

7. The method of claim 1 , wherein said performing subsequent graphics operations on the second set of polygons includes:

performing primitive assembly on the tessellated vertex data to generate one or more primitives in screen space; and

performing scan conversion on the one or more primitives to determine which pixel or pixels of the plurality of pixels are part of corresponding primitives of the one or more primitives; and

generating a finished frame by performing pixel processing to assign pixel values to the pixel or pixels that are part of the corresponding primitives.

8. The method of claim 1 , wherein the one or more regions are defined by an external signal.

9. The method of claim 8 , wherein the external signal represents a location on the display device toward which a user's gaze is directed.

10. The method of claim 1 , wherein the one or more regions include one or more portions of the screen space proximate a center of the screen space.

11. The method of claim 1 , wherein performing subsequent graphics operations on the second set of polygons includes generating data corresponding a finished frame configured for presentation on the display device.

12. A system for graphics processing, comprising:

a processing unit;

a memory;

instructions stored in the memory and executable by the processing unit, wherein the instructions are configured to cause the system to implement a method for graphics processing when executed by the processing unit, the method comprising:

with the processing unit, performing a tessellation of a first set of polygons projected onto a screen space of a display device to divide the first set of polygons to produce a second set of polygons represented by tessellated vertex data, wherein the tessellated vertex data is characterized by a first density distribution of vertices in the one or more regions of the screen space and by a second density distribution of vertices in one or more remaining regions of the screen space, wherein the first and second density distribution at least depend upon a user proximity to the display device, wherein a minimum density for the second density distribution decreases when the user moves closer to the screen, wherein a maximum density for the first density distribution increases when the user moves closer to the screen, wherein the first density is higher than the second density, wherein the first density distribution of vertices follows a smooth limit surface and the second density distribution of vertices has a larger error tolerance than the first density distribution of vertices; and

with the processing unit, performing subsequent graphics operations on the second set of polygons.

13. The system of claim 12 , wherein said performing subsequent graphics operations on the second set of polygons includes storing the tessellated vertex data in a memory.

14. The system of claim 12 , wherein said performing subsequent graphics operations on the second set of polygons includes transmitting the tessellated vertex data to another processing system.

15. The system of claim 12 , wherein said performing subsequent graphics operations on the second set of polygons includes performing primitive assembly on the tessellated vertex data to generate a one or more primitives in screen space.

16. The system of claim 12 , wherein said performing subsequent graphics operations on the second set of polygons includes:

performing primitive assembly on the tessellated vertex data to generate one or more primitives in screen space; and

performing scan conversion on the one or more primitives to determine which pixel or pixels of the plurality of pixels are part of corresponding primitives of the one or more primitives.

17. The system of claim 12 , wherein said performing subsequent graphics operations on the second set of polygons includes:

performing primitive assembly on the tessellated vertex data to generate one or more primitives in screen space; and performing scan conversion on the one or more primitives to determine which pixel or pixels of the plurality of pixels are part of corresponding primitives of the one or more primitives; and

generating a finished frame by performing pixel processing to assign pixel values to the pixel or pixels that are part of the corresponding primitives.

18. The system of claim 12 , wherein said performing subsequent graphics operations on the second set of polygons includes: performing primitive assembly on the tessellated vertex data to generate one or more primitives in screen space; and

performing scan conversion on the one or more primitives to determine which pixel or pixels of the plurality of pixels are part of corresponding primitives of the one or more primitives; and

generating a finished frame by performing pixel processing to assign pixel values to the pixel or pixels that are part of the corresponding primitives.

19. The system of claim 12 , wherein the one or more regions are defined by an external signal.

20. The system of claim 19 , wherein the external signal represents a location on the display device toward which a user's gaze is directed.

21. The system of claim 12 , wherein the one or more regions include one or more portions of the screen space proximate a center of the screen space.

22. The system of claim 12 , wherein performing subsequent graphics operations on the second set of polygons includes generating data corresponding a finished frame configured for presentation on the display device.

23. A non-transitory computer-readable medium having computer executable instructions embodied therein that, when executed, implement a method for graphics processing with a graphics processing system having a processing unit, the method comprising:

with the processing unit, performing a tessellation of a first set of polygons projected onto a screen space of a display device to divide the first set of polygons to produce a second set of polygons represented by tessellated vertex data, wherein the tessellated vertex data is characterized by a first density distribution of vertices in the one or more regions of the screen space and by a second density distribution of vertices in one or more remaining regions of the screen space, wherein the first and second density distribution at least depend upon a user proximity to the display device, wherein a minimum density for the second density distribution decreases when the user moves closer to the screen, wherein a maximum density for the first density distribution increases when the user moves closer to the screen, wherein the first density is higher than the second density, wherein the first density distribution of vertices follows a smooth limit surface and the second density distribution of vertices has a larger error tolerance than the first density distribution of vertices; and

with the processing unit, performing subsequent graphics operations on the second set of polygons.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2020
From: MURAKAWA, JUN; DOOLITTLE, JOHN; BECK, JUSTIN; REHON, BRENDAN; KUTNER, MICHAEL A
To: SONY COMPUTER ENTERTAINMENT INC.
Reel/Frame 053005/0404 →
CHANGE OF NAME Recorded Jun 22, 2020
From: SONY COMPUTER ENTERTAINMENT INC.
To: SONY INTERACTIVE ENTERTAINMENT INC.
Reel/Frame 053007/0062 →
Continuity (2)
Continuation 14927157 · Oct 29, 2015
Related Publication 20200320787A1 · Oct 8, 2020