# US 2021/0279958 A1 · Image generation system and method

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

- Number: US 2021/0279958 A1
- Document ID: US20210279958A1
- Status: Published application
- Kind: A1
- Application number: 17/179,516
- Filed: 2021-02-19
- Published: 2021-09-09
- Earliest claimed: 2020-03-03
- Assignees: Sony Interactive Entertainment Inc.
- Applicants: Sony Interactive Entertainment Inc.
- Inventors: Colin Jonathan Hughes; Maurizio Cerrato
- Web page: https://patentgrep.com/patent/US20210279958A1

## CPC

- G06T 15/06: Ray-tracing
- G06T 17/205: {Re-meshing}
- G06T 15/005: {General purpose rendering architectures}
- G06T 15/08: Volume rendering
- 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

An image generation system comprising a bounding volume hierarchy, BVH, storage unit operable to store a BVH comprising a hierarchical structure of a plurality of triangles describing a virtual scene, a BVH position buffer operable to store data for identifying the location of one or more triangles within the BVH, and a fetch shader operable to identify vertex indices for use in rendering images, to obtain one or more triangles within the BVH corresponding to those vertex indices, and to provide vertex data corresponding to those triangles to a vertex shader operable to perform a vertex shading process.

## Claims

### Claim 1

An image generation system comprising:
a bounding volume hierarchy, BVH, storage unit operable to store a BVH comprising a hierarchical structure of a plurality of triangles describing a virtual scene;
a BVH position buffer operable to store data for identifying the location of one or more triangles within the BVH; and
a fetch shader operable to identify vertex indices for use in rendering images, to obtain one or more triangles within the BVH corresponding to those vertex indices, and to provide vertex data corresponding to those triangles to a vertex shader operable to perform a vertex shading process.

### Claim 2 (depends on 1)

The image generation system of claim 1, wherein the locations of triangles within the BVH are indicated by an index identifying a first vertex of a triangle and a respective offset for each other vertex in the triangle.

### Claim 3 (depends on 1)

The image generation system of claim 1, wherein the locations of triangles within the BVH are indicated by an index, identifying a first vertex in a triangle, and a bit value.

### Claim 4 (depends on 1)

The image generation system of claim 1, comprising a vertex shader operable to perform the vertex shading process using data obtained from the fetch shader.

### Claim 5 (depends on 1)

The image generation system of claim 1, wherein the vertex shading process comprises one or more of the following:
modifying a position of a vertex;
modifying a colour of a vertex;
modifying an orientation of a vertex; and
converting a three-dimensional vertex location into a two-dimensional screen position.

### Claim 6 (depends on 1)

The image generation system of claim 1, wherein the fetch shader is operable to perform a transform on the obtained location information for the one or more triangles.

### Claim 7 (depends on 6)

The image generation system of claim 6, wherein the fetch shader is operable to perform a transform to convert the obtained location information into coordinates in object space.

### Claim 8 (depends on 1)

The image generation system of claim 1, comprising an index buffer operable to store data identifying vertex indices for use in rendering images.

### Claim 9 (depends on 8)

The image generation system of claim 8, comprising a vertex buffer operable to store attribute data for one or more vertices.

### Claim 10 (depends on 1)

The image generation system of claim 1, wherein the BVH comprises attribute data for the triangles.

### Claim 11 (depends on 1)

The image generation system of claim 1, wherein the fetch shader is operable to obtain attribute data, and
wherein the obtained attribute data is used to perform the vertex shading process.

### Claim 12

An image generation method comprising:
storing a bounding volume hierarchy, BVH, comprising a hierarchical structure of a plurality of triangles describing a virtual scene;
storing data for identifying the location of one or more triangles within the BVH;
identifying vertex indices for use in rendering images;
obtaining one or more triangles within the BVH corresponding to those vertex indices; and
providing vertex data corresponding to those triangles to a vertex shader operable to perform a vertex shading process.

### Claim 13

A non-transitory machine-readable storage medium which stores computer software which, when executed by a computer, causes the computer to perform a method comprising the steps of:
storing a bounding volume hierarchy, BVH, comprising a hierarchical structure of a plurality of triangles describing a virtual scene;
storing data for identifying the location of one or more triangles within the BVH;
identifying vertex indices for use in rendering images;
obtaining one or more triangles within the BVH corresponding to those vertex indices; and
providing vertex data corresponding to those triangles to a vertex shader operable to perform a vertex shading process.
