US 9,811,941 B1
High resolution simulation of liquids
Frederick E. Hankins, Novato, CA (US); Nicholas Grant Rasmussen, Fairfax, CA (US); and William Geiger, San Francisco, CA (US)
Assigned to Lucasfilm Entertainment Company Ltd., San Francisco, CA (US)
Filed by Lucasfilm Entertainment Company Ltd., San Francisco, CA (US)
Filed on Apr. 30, 2013, as Appl. No. 13/874,284.
Claims priority of provisional application 61/849,828, filed on Mar. 13, 2013.
Int. Cl. G06G 7/50 (2006.01); G06T 15/08 (2011.01)
CPC G06T 15/08 (2013.01) 39 Claims
OG exemplary drawing
 
1. A method comprising:
simulating a volume of liquid at a resolution to produce low frequency spatial features of the volume of liquid, wherein the simulation produces one or more data arrays;
up-sampling the one or more data arrays to produce corresponding high resolution data arrays, wherein a resolution of the one or more data arrays is lower than a resolution of the one or more high resolution data arrays, and wherein the resolution of the one or more high resolution data arrays is based on a level of resolution defined for an application;
obtaining procedural data representing high frequency spatial features of a liquid surface of the volume of liquid, wherein the procedural data is obtained using one or more computations on one or more inputs associated with the liquid surface, and wherein a resolution of the procedural data is based on the level of resolution defined for the application; and
modifying the one or more high resolution data arrays using the procedural data to produce corresponding modified data arrays that reflect both the high frequency and the low frequency spatial features of the simulated volume of liquid, wherein the one or more high resolution data arrays are modified by:
mapping a first data point of the procedural data to a second data point of the one or more high resolution arrays; and
modifying the second data point based on the first data point, wherein modifying the second data point includes combining the first data point with the second data point.