# US 12,169,899 B2 · Cloth modeling using quad render meshes

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

- Number: US 12,169,899 B2
- Document ID: US12169899B2
- Status: Granted
- Kind: B2
- Application number: 17/819,212
- Filed: 2022-08-11
- Published: 2024-02-15
- Granted: 2024-12-17
- Earliest claimed: 2022-08-11
- Assignees: Pixar
- Applicants: Pixar
- Inventors: Christine Waggoner; Fernando Ferrari De Goes
- Web page: https://patentgrep.com/patent/US12169899B2

## CPC

- G06T 17/205: {Re-meshing}
- G06T 15/00: Three-dimensional [3D] image rendering
- G06T 2200/24: involving graphical user interfaces [GUIs]
- G06T 2210/16: Cloth
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

Embodiments provide for three-dimensional cloth modeling are provided. A first mesh comprising a plurality of faces defined by a plurality of edges is accessed, and a render mesh is generated using quadrangulated tessellation of the first mesh, where the render mesh comprises quad faces. One or more attributes of the plurality of faces of the first mesh are transferred to one or more of the quad faces of the render mesh using a stochastic transfer operation. The render mesh is displayed via a graphical user interface (GUI).

## Claims

### Claim 1

A method, comprising:
accessing a first mesh comprising a plurality of faces defined by a plurality of edges;
generating a render mesh using tessellation of the first mesh, wherein the render mesh comprises quad faces;
transferring one or more attributes of one or more faces of the plurality of faces of the first mesh to one or more of the quad faces of the render mesh using a first stochastic transfer operation; and
transferring one or more attributes of one or more edges of the plurality of edges of the first mesh to one or more edges of the render mesh using a second stochastic transfer operation.

### Claim 2 (depends on 1)

The method of claim 1, wherein the first stochastic transfer operation comprises:
sampling a plurality of points on the plurality of faces of the first mesh to assign one or more attributes to one or more points of the plurality of points;
projecting the plurality of points to the render mesh;
identifying, for at least a first face in the render mesh, a first subset of points from the projected plurality of points associated with the first face; and
assigning one or more attributes to the first face based on the first subset of points.

### Claim 3 (depends on 1)

The method of claim 1, wherein the second stochastic transfer operation comprises:
assigning a first attribute to one or more faces on a first side of a first edge of the plurality of edges; and
assigning a second attribute to one or more faces on a second side of the first edge, opposite to the first side.

### Claim 4 (depends on 3)

The method of claim 3, wherein the second stochastic transfer operation further comprises:
sampling a plurality of points on the plurality of faces of the first mesh to assign the first attribute to one or more points of the plurality of points and the second attribute to one or more points of the plurality of points;
projecting the plurality of points to the render mesh;
assigning the first attribute to a first face in the render mesh based on a first subset of points, from the projected plurality of points, that is associated with the first face;
assigning the second attribute to a second face in the render mesh based on a second subset of points, from the projected plurality of points, that is associated with the second face; and
in response to determining that an edge in the render mesh borders the first and second faces, assigning one or more attributes of the first edge of the plurality of edges to the edge in the render mesh.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
determining that a first edge, of the plurality of edges in the first mesh, is labeled as a seam;
duplicating the first edge to form a set of new edges in the render mesh; and
translating at least one of the set of new edges to form the seam in the render mesh.

### Claim 6 (depends on 5)

The method of claim 5, wherein determining that the first edge is labeled as a seam further comprises identifying a set of seam parameters comprising at least one of:
a width of the seam;
a normal offset of the seam; or
a symmetry of the seam.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
determining that a first face, of the plurality of faces in the first mesh, is labeled with a defined thickness; and
extruding the first face to form a set of new faces in the render mesh.

### Claim 8 (depends on 1)

The method of claim 1, further comprising generating a simulation mesh based on the first mesh.

### Claim 9 (depends on 1)

The method of claim 1, further comprising displaying the render mesh via a graphical user interface (GUI).

### Claim 10

A non-transitory computer-readable medium containing computer program code that, when executed by operation of one or more computer processors, performs an operation comprising:
accessing a first mesh comprising a plurality of faces defined by a plurality of edges;
generating a render mesh using tessellation of the first mesh, wherein the render mesh comprises quad faces;
determining that a first edge, of the plurality of edges in the first mesh, is labeled as a seam;
generating a set of new edges, corresponding to the first edge, in the render mesh;
translating at least one edge of the set of new edges based on the seam; and
transferring one or more attributes of one or more faces of the plurality of faces of the first mesh to one or more of the quad faces of the render mesh using a stochastic transfer operation.

### Claim 11 (depends on 10)

The non-transitory computer-readable medium of claim 10, wherein the stochastic transfer operation comprises:
sampling a plurality of points on the plurality of faces of the first mesh to assign one or more attributes to one or more points of the plurality of points;
projecting the plurality of points to the render mesh;
identifying, for at least a first face in the render mesh, a first subset of points from the projected plurality of points associated with the first face; and
assigning one or more attributes to the first face based on the first subset of points.

### Claim 12 (depends on 10)

The non-transitory computer-readable medium of claim 10, the operation further comprising transferring one or more attributes of the plurality of edges of the first mesh to one or more edges of the render mesh using a second stochastic transfer operation.

### Claim 13 (depends on 12)

The non-transitory computer-readable medium of claim 12, wherein the second stochastic transfer operation comprises:
assigning a first attribute to one or more faces on a first side of a first edge of the plurality of edges; and
assigning a second attribute to one or more faces on a second side of the first edge, opposite to the first side.

### Claim 14 (depends on 10)

The non-transitory computer-readable medium of claim 10, the operation further comprising:
determining that a first face, of the plurality of faces in the first mesh, is labeled with a defined thickness; and
extruding the first face to form a set of new faces in the render mesh.

### Claim 15 (depends on 10)

The non-transitory computer-readable medium of claim 10, the operation further comprising displaying the render mesh via a graphical user interface (GUI).

### Claim 16

A system, comprising:
a memory comprising computer-executable instructions; and
one or more processors configured to execute the computer-executable instructions and cause the system to perform an operation comprising:
accessing a first mesh comprising a plurality of faces defined by a plurality of edges;
generating a render mesh using tessellation of the first mesh, wherein the render mesh comprises quad faces;
determining that a first face, of the plurality of faces in the first mesh, is labeled with a thickness;
generating a set of new faces in the render mesh based on applying an extrusion corresponding to the first face; and
transferring one or more attributes of the plurality of faces of the first mesh to one or more of the quad faces of the render mesh using a stochastic transfer operation.

### Claim 17 (depends on 16)

The system of claim 16, wherein the stochastic transfer operation comprises:
sampling a plurality of points on the plurality of faces of the first mesh to assign one or more attributes to one or more points of the plurality of points;
projecting the plurality of points to the render mesh;
identifying, for at least a first face in the render mesh, a first subset of points from the projected plurality of points associated with the first face; and
assigning one or more attributes to the first face based on the first subset of points.

### Claim 18 (depends on 16)

The system of claim 16, the operation further comprising transferring one or more attributes of the plurality of edges of the first mesh to one or more edges of the render mesh using a second stochastic transfer operation, wherein the second stochastic transfer operation comprises:
assigning a first attribute to one or more faces on a first side of a first edge of the plurality of edges; and
assigning a second attribute to one or more faces on a second side of the first edge, opposite to the first side.

### Claim 19 (depends on 16)

The system of claim 16, the operation further comprising:
determining that a first edge, of the plurality of edges in the first mesh, is labeled as a seam;
duplicating the first edge to form a set of new edges in the render mesh; and
translating at least one of the set of new edges to form the seam in the render mesh.

### Claim 20 (depends on 16)

The system of claim 16, the operation further comprising displaying the render mesh via a graphical user interface (GUI).
