# US 12,217,358 B2 · Untransformed display lists in a tile based rendering system

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

- Number: US 12,217,358 B2
- Document ID: US12217358B2
- Status: Granted
- Kind: B2
- Application number: 17/888,220
- Filed: 2022-08-15
- Published: 2022-12-08
- Granted: 2025-02-04
- Earliest claimed: 2008-03-19
- Assignees: Imagination Technologies Limited
- Applicants: Imagination Technologies Limited
- Inventors: John W. Howson
- Web page: https://patentgrep.com/patent/US12217358B2

## CPC

- G06T 15/405: {using Z-buffer}
- G06T 1/60: Memory management
- G06T 15/005: {General purpose rendering architectures}
- G06T 15/04: Texture mapping
- G06T 15/08: Volume rendering
- G06T 15/40: Hidden part removal
- G06T 15/80: Shading
- G06T 17/10: Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

3-D rendering systems include a rasterization section that can fetch untransformed geometry, transform geometry and cache data for transformed geometry in a memory. As an example, the rasterization section can transform the geometry into screen space. The geometry can include one or more of static geometry and dynamic geometry. The rasterization section can query the cache for presence of data pertaining to a specific element or elements of geometry, and use that data from the cache, if present, and otherwise perform the transformation again, for actions such as hidden surface removal. The rasterization section can receive, from a geometry processing section, tiled geometry lists and perform the hidden surface removal for pixels within respective tiles to which those lists pertain.

## Claims

### Claim 1

A 3-D rendering system comprising a rasterization portion, the rasterization portion comprising:
a fetch unit, operable to retrieve untransformed 3-D position data for at least one element of static geometry appearing in a tile object list for a tile of pixels being processed;
a transform unit, operable to receive the untransformed 3-D position data and transform the 3-D position data into 2-D screen space coordinates for the at least one element of static geometry;
a hidden surface removal unit configured to receive the 2-D screen space coordinates for the at least one element of static geometry from the transform unit and operable to perform hidden surface removal for one or more pixels in the tile of pixels; and
a shading unit operable to shade a visible surface for the one or more pixels in the tile.

### Claim 2 (depends on 1)

The 3-D rendering system of claim 1, wherein the shading unit is operable to use parameters produced during geometry processing for shading dynamic geometry and parameters produced within the rasterization portion for shading static geometry.

### Claim 3 (depends on 1)

The 3-D rendering system of claim 1, further comprising a non-transitory memory storing 3-D position data and texturing and lighting parameter data for elements of static and dynamic geometry, and the rasterization portion is operable to retrieve the untransformed 3-D position information from the non-transitory memory.

### Claim 4 (depends on 1)

The 3-D rendering system of claim 1, further comprising:
one or more non-transitory memories storing 3-D position data and parameter data for elements of static and dynamic geometry; and
a geometry transformation unit operable to transform the 3-D position data for elements of both the dynamic geometry and the static geometry, to produce respective 2-D position data, in a 2-D screen space, for the transformed elements of geometry, and to perform attribute processing only for elements of the dynamic geometry.

### Claim 5 (depends on 4)

The 3-D rendering system of claim 4, further comprising:
a tiling unit operable to assemble the object tile lists based on the transformed elements of static and dynamic geometry, each object tile list comprising references to memory locations storing untransformed 3-D position and parameter data for the elements of static geometry.

### Claim 6 (depends on 4)

The 3-D rendering system of claim 4, further comprising:
a parameter buffer for receiving and storing transformed parameters for elements of dynamic geometry, the parameter buffer operable to be read by the rasterization portion.

### Claim 7 (depends on 6)

The 3-D rendering system of claim 6, further comprising a cull unit operable to receive transformed position information for dynamic geometry from the geometry transformation unit and to cull elements of geometry determined not to be visible, wherein transformed parameters for culled elements of geometry are not stored in the parameter buffer.

### Claim 8 (depends on 4)

The 3-D rendering system of claim 4, wherein the geometry transformation unit and the transform unit of the rasterization portion are implemented by a unitary geometry transform unit.

### Claim 9 (depends on 1)

The 3-D rendering system of claim 1, wherein the fetch unit is operable to attempt to fetch transformed parameters of the static geometry, corresponding to the untransformed parameters, from a cache before retrieving the untransformed parameters again.

### Claim 10 (depends on 9)

The 3-D rendering system of claim 9, wherein the fetch unit is operable to update the cache with transformed parameters for static geometry.

### Claim 11 (depends on 1)

The 3-D rendering system of claim 1, wherein the transform unit of the rasterization portion is implemented by a programmable unit, and the programmable unit further implements a transform unit within a geometry processing portion of the 3-D rendering system.

### Claim 12 (depends on 1)

The 3-D rendering system of claim 1, the fetch unit being further operable to obtain, from the tile object list for the tile of pixels being processed, a reference, for each element of static geometry appearing in the tile object list, to untransformed 3-D position data for that element of static geometry.

### Claim 13 (depends on 1)

The 3-D rendering system of claim 1, wherein dynamic geometry may be updated during a rendering.

### Claim 14 (depends on 1)

The 3-D rendering system of claim 1, wherein the 3-D rendering system is a tile-based 3-D rendering system.

### Claim 15 (depends on 1)

The 3-D rendering system of claim 1, the fetch unit being operable to retrieve untransformed 3-D position data for each element of static geometry appearing in a tile object list for a tile of pixels being processed.

### Claim 16 (depends on 1)

The 3-D rendering system of claim 1, the hidden surface removal unit being operable to perform hidden surface removal for each pixel in the tile of pixels.

### Claim 17 (depends on 1)

The 3-D rendering system of claim 1, the shading unit being operable to shade a visible surface for each pixel in the tile.
