IP Library Granted Patent US 8,830,248
Granted Patent B1
US 8,830,248 · App. 12/475,259 · Granted Sep 9, 2014

Texture synthesis for fine grained cloth simulation

Inventor: Doug Epps (Novato, CA)
Assignee: Imagemovers Digital LLC
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,830,248
App. No.
12/475,259
Granted
Sep 9, 2014
Kind
B1
Abstract

A method for rendering an image on computer system including a display includes determining a first displacement map associated with a surface material and a first input parameter, determining a second displacement map associated with the surface material and a second input parameter. determining a three-dimensional displacement data structure in response to the first displacement map, the first input parameter, the second displacement map and the second input parameter in the computer system, receiving a third input parameter, determining a third displacement map associated with the surface material in response to the three-dimensional displacement data structure and the third input parameter in the computer system, rendering an image of an object in the computer system, wherein an appearance of a surface of the object is determined in response to the third displacement map, and displaying the image on the display to a user.

Claims (51)

1. A method for rendering an image on computer system including a processor and a display, the method comprising:

determining a first two-dimensional displacement map associated with a first surface material and a first value for an input parameter in the processor, wherein a value of a pixel of a two-dimensional displacement map is associated with a displacement;

determining a second two-dimensional displacement map associated with the first surface material and a second value for the input parameter in the processor;

determining a three-dimensional displacement data structure in the processor in response to the first two-dimensional displacement map, the first value for the input parameter, the second two-dimensional displacement map, and the second value for the input parameter in the computer system;

receiving a third value for the input parameter;

determining a third two-dimensional displacement map associated with the first surface material in the processor in response to the three-dimensional displacement data structure and the third value for the input parameter in the computer system, wherein determining the three-dimensional displacement data structure comprises interpolating the first two-dimensional displacement map and the second two-dimensional displacement map to form the third two-dimensional displacement map in the processor;

rendering an image of an object in the processor, wherein an appearance of a surface of the object is determined in response to the third two-dimensional displacement map; and

displaying the image on the display to a user.

2. The method of claim 1 wherein determining the first two-dimensional displacement map comprises:

performing a surface simulation in the processor in response to a specification of the first surface material and the first value for the input parameter to determine a first simulated surface; and

determining the first two-dimensional displacement map in the processor in response to the first simulated surface.

3. The method of claim 1 wherein determining the first two-dimensional displacement map comprises:

performing a three-dimensional surface scan of the first surface material to determine a first scanned surface in the processor; and

determining the first two-dimensional displacement map in response to the first scanned surface in the processor.

4. The method of claim 1 wherein determining the three-dimensional displacement data structure comprises performing a texture synthesis in the processor in response to the first two-dimensional displacement map and the second two-dimensional displacement map.

5. The method of claim 1 wherein determining the third two-dimensional displacement map comprises performing a texture synthesis in the processor in response to the first two-dimensional displacement map, the second two-dimensional displacement map, the first value, the second value, and the third value to form the third two-dimensional displacement map.

6. The method of claim 1 wherein determining the third two-dimensional displacement map comprises performing a table look-up in the processor in response to the third value for the input parameter.

7. A computer program product resident on a tangible media includes executable computer code on a computer system including a processor and a display, wherein the computer program product comprises:

code that instructs the processor to determine a first two-dimensional displacement map associated with a first surface material and a first value for an input parameter, wherein a value of a pixel of a two-dimensional displacement map is associated with a displacement;

code that instructs the processor to determine a second two-dimensional displacement map associated with the first surface material and a second value for the input parameter;

code that instructs the processor to determine a three-dimensional displacement data structure in response to the first two-dimensional displacement map, the first value for the input parameter, the second two-dimensional displacement map, the second value for the input parameter in the computer system;

code that instructs the processor to receive a third value for the input parameter;

code that instructs the processor to determine a third two-dimensional displacement map associated with the first surface material in response to the three-dimensional displacement data structure and the third value for the input parameter in the computer system;

code that instructs the processor to smoothly interpolate the first two-dimensional displacement map and the second two-dimensional displacement map to form the third two-dimensional displacement map;

code that instructs the processor to render an image of an object in the computer system, wherein an appearance of a surface of the object is determined in response to the third two-dimensional displacement map; and

code that instructs the processor to display the image on the display.

8. The computer program product of claim 7 further comprising:

code that instructs the processor to perform a surface simulation in response to a specification of the first surface material and the first value for the input parameter to determine a first simulated surface; and

code that instructs the processor to determine the first two-dimensional displacement map in response to the first simulated surface.

9. The computer program product of claim 7 further comprising:

code that instructs the processor to perform a three-dimensional surface scan of the first surface material to determine a first scanned surface; and

code that instructs the processor to determine the first two-dimensional displacement map in response to the first scanned surface.

10. The computer program product of claim 7 further comprising code that instructs the processor to perform a texture synthesis in response to the first two-dimensional displacement map and the second two-dimensional displacement map.

11. The computer program product of claim 7 further comprising code that instructs the processor to perform a texture synthesis in the processor in response to the first two-dimensional displacement map, the second two-dimensional displacement map, the first value, the second value, and the third value to form the third two-dimensional displacement map.

12. The computer program product of claim 7 further comprising code that instructs the processor to perform a table look-up in response to the third value for the input parameter.

13. A computer system for rendering images, the computer system comprising:

a processor configured to:

determine a first two-dimensional displacement map associated with a first surface material and a first value for an input parameter, wherein a value of a pixel of a two-dimensional displacement map is associated with a displacement,

determine a second two-dimensional displacement map associated with the first surface material and a second value for the input parameter,

determine a three-dimensional displacement data structure in response to the first two-dimensional displacement map, the first value for the input parameter, the second two-dimensional displacement map, the second value for the input parameter in the computer system, configured to receive a third value for the input parameter,

determine a third two-dimensional displacement map associated with the first surface material in response to the three-dimensional displacement data structure and the third value for the input parameter in the computer system, wherein the processor is configured to smoothly interpolate the first two-dimensional displacement map and the second two-dimensional displacement map to form the third two-dimensional displacement map, and

render an image of an object in the computer system, wherein an appearance of a surface of the object is determined in response to the third two-dimensional displacement map; and

a display coupled to the processor, wherein the display is configured to display the image.

14. The computer system of claim 13

wherein the processor is configured to perform a surface simulation in response to a specification of the first surface material and the first value for the input parameter to determine a first simulated surface; and

wherein the processor is configured to determine the first two-dimensional displacement map in response to the first simulated surface.

15. The computer system of claim 13

wherein the processor is configured to perform a three-dimensional surface scan of the first surface material to determine a first scanned surface; and

wherein the processor is configured to determine the first two-dimensional displacement map in response to the first scanned surface.

16. The computer system of claim 13 wherein the processor is configured to perform a texture synthesis in response to the first two-dimensional displacement map and the second two-dimensional displacement map.

17. The computer system of claim 13 wherein the processor is configured to perform a texture synthesis in the processor in response to the first two-dimensional displacement map, the second two-dimensional displacement map, the first value, the second value, and the third value to form the third two-dimensional displacement map.

Assignments (2)
CHANGE OF NAME Recorded Feb 8, 2012
From: IMAGEMOVERS DIGITAL LLC
To: TWO PIC MC LLC
Reel/Frame 027675/0270 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2009
From: EPPS, DOUG
To: IMAGEMOVERS DIGITAL LLC
Reel/Frame 023118/0429 →