# US 10,311,628 B2 · Piecewise linear irregular rasterization

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,311,628 B2
- Document ID: US10311628B2
- Status: Granted
- Kind: B2
- Application number: 16/049,740
- Filed: 2018-07-30
- Published: 2018-11-22
- Granted: 2019-06-04
- Earliest claimed: 2015-05-29
- Assignees: NVIDIA Corporation
- Applicants: NVIDIA Corporation
- Inventors: Eric B. Lum; Justin Cobb
- Web page: https://patentgrep.com/patent/US10311628B2

## CPC

- G06T 15/005: {General purpose rendering architectures}
- G06T 11/40: Filling planar surfaces by adding surface attributes, e.g. adding colours or textures
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

One embodiment of the present invention includes a method for rendering a geometry object in a computer-generated scene. A screen space associated with a display screen is divided into a set of regions. For each region; a first sampling factor in a horizontal dimension is computed that represents a horizontal sampling factor for pixels located in the region, a second sampling factor in a vertical dimension is computed that represents a vertical sampling factor for the pixels located in the region, a first offset in the horizontal dimension is computed that represents a horizontal position associated with the region, and a second offset in the vertical dimension is computed that represent a vertical position associated with the region. When the geometry object is determined to intersect more than one region, an instance of the geometry object is generated each region that the geometry object intersects.

## Claims

### Claim 1

A computer-implemented method for rendering a geometry object in a computer-generated scene, the method comprising:
dividing a screen space associated with a display screen into a plurality of regions that are arranged in a set of rows and a set of columns;
for each region:
computing a first sampling factor that comprises a horizontal sampling factor for pixels located in the region,
computing a second sampling factor that comprises a vertical sampling factor for the pixels located in the region,
computing a first offset that comprises a horizontal position associated with the region, and
computing a second offset that comprises a vertical position associated with the region;
determining that the geometry object intersects two or more regions;
generating a first instance of the geometry object for a first region intersected by the geometry object; and
generating a second instance of the geometry object for a second region intersected by the geometry object, wherein:
the first region and the second region are at least one of horizontally adjacent in screen space and vertically adjacent in screen space, and
the first sampling factor associated with the first region is different than the first sampling factor associated with the second region, and the second sampling factor associated with the first region is different than the second sampling factor associated with the second region.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising performing one or more interpolation operations that are associated with a boundary between the first region and the second region.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, further comprising performing one or more filtering operations that are associated with a boundary between the first region and the second region.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein the first sampling factor associated with the first region is different than the first sampling factor associated with the second region, and the second sampling factor associated with the first region is different than the second sampling factor associated with the second region.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein, for at least one of the first region and the second region, the first sampling factor is different from the second sampling factor.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein the display screen is included in a virtual reality headset.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, further comprising applying the first scaling factor associated with the first region, the second scaling factor associated with the first region, the first offset associated with the first region, and the second offset associated with the first region to one or more vertices associated with the first instance of the geometry object.

### Claim 8 (depends on 7)

The computer-implemented method of claim 7, further comprising applying the first scaling factor associated with the second region, the second scaling factor associated with the second region, the first offset associated with the second region, and the second offset associated with the second region to one or more vertices associated with the second instance of the geometry object.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, further comprising marking the first instance of the graphics object with a first corresponding viewport, and marking the second instance of the graphics object with a second corresponding viewport.

### Claim 10 (depends on 9)

The computer-implemented method of claim 9, wherein marking the first instance of the graphics object with the first corresponding viewport causes one or more downstream stages of a graphics processing pipeline to render the first instance of the graphics object based on the first scaling factor associated with the first region, the second scaling factor associated with the first region, the first offset associated with the first region, and the second offset associated with the first region.

### Claim 11 (depends on 10)

The computer-implemented method of claim 10, wherein marking the second instance of the graphics object with the second corresponding viewport causes the one or more stages of the graphics processing pipeline to render the second instance of the graphics object based on the first scaling factor associated with the second region, the second scaling factor associated with the second region, the first offset associated with the second region, and the second offset associated with the second region.

### Claim 12

One or more non-transitory computer-readable media that include instructions that, when executed by one or more processors, cause the one or more processors to perform the steps of:
for each region included in a plurality of regions of a screen space associated with a display screen:
computing a first sampling factor that comprises a horizontal sampling factor for pixels located in the region,
computing a second sampling factor that comprises a vertical sampling factor for the pixels located in the region,
computing a first offset that comprises a horizontal position associated with the region, and
computing a second offset that comprises a vertical position associated with the region;
determining that the geometry object intersects two or more regions;
generating a first instance of the geometry object for a first region intersected by the geometry object; and
generating a second instance of the geometry object for a second region intersected by the geometry object,
wherein the first region and the second region are at least one of horizontally adjacent in screen space and vertically adjacent in screen space, and
wherein the first sampling factor associated with the first region is different than the first sampling factor associated with the second region, and the second sampling factor associated with the first region is different than the second sampling factor associated with the second region.

### Claim 13 (depends on 12)

The one or more non-transitory computer-readable media of claim 12, further comprising performing one or more interpolation operations that are associated with a boundary between the first region and the second region.

### Claim 14 (depends on 12)

The one or more non-transitory computer-readable media of claim 12, further comprising performing one or more filtering operations that are associated with a boundary between the first region and the second region.

### Claim 15 (depends on 12)

The one or more non-transitory computer-readable media of claim 12, wherein the first sampling factor associated with the first region is different than the first sampling factor associated with the second region, and the second sampling factor associated with the first region is different than the second sampling factor associated with the second region.

### Claim 16 (depends on 12)

The one or more non-transitory computer-readable media of claim 12, wherein, for at least one of the first region and the second region, the first sampling factor is different from than the second sampling factor.

### Claim 17 (depends on 12)

The one or more non-transitory computer-readable media of claim 12, wherein the display screen is included in a virtual reality headset.

### Claim 18 (depends on 12)

The one or more non-transitory computer-readable media of claim 12, further comprising applying the first scaling factor associated with the first region, the second scaling factor associated with the first region, the first offset associated with the first region, and the second offset associated with the first region to one or more vertices associated with the first instance of the geometry object.

### Claim 19 (depends on 18)

The one or more non-transitory computer-readable media of claim 18, further comprising applying the first scaling factor associated with the second region, the second scaling factor associated with the second region, the first offset associated with the second region, and the second offset associated with the second region to one or more vertices associated with the second instance of the geometry object.

### Claim 20 (depends on 12)

The one or more non-transitory computer-readable media of claim 12, further comprising marking the first instance of the graphics object with a first corresponding viewport, and marking the second instance of the graphics object with a second corresponding viewport.

### Claim 21

A system, comprising:
a display screen; and
a graphics processing pipeline that is configured to:
divide a screen space associated with the display screen into a plurality of regions that are arranged in a set of rows and a set of columns;
for each region included in the plurality of regions:
compute a first sampling factor that comprises a horizontal sampling factor for pixels located in the region,
compute a second sampling factor that comprises a vertical sampling factor for the pixels located in the region,
compute a first offset that comprises a horizontal position associated with the region, and
compute a second offset that comprises a vertical position associated with the region;
determine that the geometry object intersects two or more regions;
generate a first instance of the geometry object for a first region intersected by the geometry object; and
generate a second instance of the geometry object for a second region intersected by the geometry object,
wherein the first region and the second region are at least one of horizontally adjacent in screen space and vertically adjacent in screen space,
wherein the first sampling factor associated with the first region is different than the first sampling factor associated with the second region, and the second sampling factor associated with the first region is different than the second sampling factor associated with the second region.

### Claim 22 (depends on 21)

The system of claim 21, wherein, for at least one of the first region and the second region, the first sampling factor is different from the second sampling factor.
