Garment simulation using thread and data level parallelism

US9953460B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9953460-B2
Application numberUS-201615182267-A
CountryUS
Kind codeB2
Filing dateJun 14, 2016
Priority dateNov 14, 2013
Publication dateApr 24, 2018
Grant dateApr 24, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Techniques for three-dimensional garment simulation using parallel computing are presented herein. An access module can be configured to access a three-dimensional garment model of a garment. The garment model can include garment points that represent a surface of the garment. A processor, having a plurality of cores, can be configured by a garment simulation module to calculate one or more exerted forces on a subset of garment points. Additionally, the garment simulation module can generate cross pairs and apportion the generated cross pairs among the plurality of cores. Moreover, the garment simulation module can determine, using the plurality of vector execution units in parallel based on an organized data layout, whether boundaries of the first subgroup of cross pairs are overlapping based on the one or more exerted forces. Subsequently, the garment simulation module can calculate one or more simulated forces acting on the garment points based on the determination.

First claim

Opening claim text (preview).

What is claimed is: 1. A system comprising: a processor comprising a plurality of cores and a plurality of vector execution units; and a machine-readable storage medium, coupled with the processor, the machine-readable storage medium comprising instructions that, when executed by the processor, cause the system to perform operations comprising: accessing, from a database, a three-dimensional garment model of a garment, the three-dimensional garment model including garment points that represent a surface of the garment; organizing a data layout associated with the garment points for parallel computing, based on the plurality of vector execution units, to map the data layout for vector execution; determining, using the plurality of vector execution units in parallel, an exerted force on a subset of garment points based on the organized data layout; calculating one or more simulated forces acting on the subset of garment points based on the determined exerted force wherein calculating one or more simulated forces acting on the subset of garment points based on the determined exerted force further comprises detecting and resolving a collision using the plurality of cores and the plurality of vector execution units in parallel by: generating a first hierarchical acceleration data structure having a first set of nodes associated with the subset of garment points; generating a second hierarchical acceleration data structure having a second set of nodes associated with the subset of garment points; generating cross pairs by intersecting the first set of nodes with the second set of nodes; distributing the cross pairs across the plurality of cores; performing, using the plurality of vector execution units in parallel, an overlap test for the generated cross pairs; detecting a collision based on the overlap test for the generated cross pairs; and resolving the detected collision; and generating an image of the three-dimensional garment model draped on a three-dimensional body model based on the calculated one or more simulated forces. 2. The system of claim 1 , wherein the data layout is organized based on a number of vector execution units in the plurality of vector execution units. 3. The system of claim 2 , the operations further comprising: arranging the exerted force associated with the subset of garment points into a structure-of-array format. 4. The system of claim 2 , the operations further comprising: consecutively numbering left indices of edges corresponding to the subset of the garment points based on the number of vector execution units; and consecutively numbering right indices of the edges corresponding to the subset of the garment points based on the number of vector execution units. 5. The system of claim 1 , wherein the one or more simulated forces is calculated using the plurality of cores in parallel. 6. The system of claim 1 , wherein each core in the plurality of cores includes a plurality of vector execution units. 7. The system of claim 1 , the operations further comprising: causing a presentation, on a display of a device, of the generated image of the three-dimensional garment draped on the three-dimensional body model. 8. A method comprising: accessing, from a database, a three-dimensional garment model of a garment, the three-dimensional garment model including garment points that represent a surface of the garment; organizing a data layout associated with the garment points for parallel computing, based on a plurality of vector execution units, to map the data layout for vector execution; determining, using the plurality of vector execution units in parallel, an exerted force on a subset of garment points based on the organized data layout; calculating one or more simulated forces acting on the subset of garment points based on the determined exerted force wherein calculating one or more simulated forces acting on the subset of garment points based on the determined exerted force further comprises detecting and resolving a collision using the plurality of cores and the plurality of vector execution units in parallel by: generating a first hierarchical acceleration data structure having a first set of nodes associated with the subset of garment points; generating a second hierarchical acceleration data structure having a second set of nodes associated with the subset of garment points; generating cross pairs by intersecting the first set of nodes with the second set of nodes; distributing the cross pairs across the plurality of cores; performing, using the plurality of vector execution units in parallel, an overlap test for the generated cross pairs; detecting a collision based on the overlap test for the generated cross pairs; and resolving the detected collision; and generating an image of the three-dimensional garment model draped on a three-dimensional body model based on the calculated one or more simulated forces. 9. The method of claim 8 , wherein the data layout is organized based on a number of vector execution units in the plurality of vector execution units. 10. The method of claim 9 , further comprising: arranging the exerted force associated with the subset of garment points into a structure-of-array format. 11. The method of claim 9 , further comprising: consecutively number left indices of edges corresponding to the subset of the garment points based on the number of vector execution units; and consecutively number right indices of the edges corresponding to the subset of the garment points based on the number of vector execution units. 12. The method of claim 8 , wherein the one or more simulated forces is calculated using the plurality of cores in parallel. 13. The method of claim 8 , wherein each core in the plurality of cores includes a plurality of vector execution units. 14. The method of claim 8 , wherein the plurality of vector execution units is a single instruction multiple data (SIMD). 15. A non-transitory machine-readable storage medium comprising instructions that, when executed by one or more processors of a machine, cause the machine to perform operations comprising: accessing, from a database, a three-dimensional garment model of a garment, the three-dimensional garment model including garment points that represent a surface of the garment; and organizing a data layout associated with the garment points for parallel computing, based on the plurality of vector execution units, to map the data layout for vector execution; determining, using a plurality of vector execution units in parallel, an exerted force on a subset of garment points based on the organized data layout; calculating one or more simulated forces acting on the subset of garment points based on the determined exerted force wherein calculating one or more simulated forces acting on the subset of garment points based on the determined exerted force further comprises detecting and resolving a collision using the plurality of cores and the plurality of vector execution units in parallel by: generating a first hierarchical acceleration data structure having a first set of nodes associated with the subset of garment points; generating a second hierarchical acceleration data structure having a second set of nodes associated with the subset of garment points; generating cross pairs by intersecting the first set of nodes with the second set of nodes; distributing the cross pairs across the plurality of cores; performing, using the plurality of vector execution units in parallel, an overlap test for the generated cross pairs; detecting a collision based on

Assignees

Inventors

Classifications

  • Validation; Performance evaluation; Active pattern learning techniques · CPC title

  • CAD in a network environment, e.g. collaborative CAD or distributed simulation · CPC title

  • Design optimisation, verification or simulation (optimisation, verification or simulation of circuit designs G06F30/30) · CPC title

  • Cloth · CPC title

  • General purpose rendering architectures · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9953460B2 cover?
Techniques for three-dimensional garment simulation using parallel computing are presented herein. An access module can be configured to access a three-dimensional garment model of a garment. The garment model can include garment points that represent a surface of the garment. A processor, having a plurality of cores, can be configured by a garment simulation module to calculate one or more exe…
Who is the assignee on this patent?
Ebay Inc
What technology area does this patent fall under?
Primary CPC classification G06T17/20. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 24 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).