Outer Rim Archives
Archives · 2017 · 9811941

Granted patent

High resolution simulation of liquids

Number
9811941
Published
2017-11-07
Filed
2013-04-30
Assignee
Lucasfilm Entertainment Company Ltd.
Inventors
Hankins; Frederick E., Rasmussen; Nicholas Grant, Geiger; William
CPC
G06T13/60; G06T15/08
Verdict
Low Notable software
Source
Google Patents · FreePatentsOnline

The keeper's note

A high-resolution liquid simulation technique that up-samples low-frequency flow data to add fine surface detail for VFX water and fluid effects.

Abstract

Methods, systems and computer program products pertaining to simulating liquid bodies are presented. The subject matter of this document can be embodied in a method that includes obtaining one or more data arrays representing low frequency spatial features of a simulated volume of liquid, and up-sampling the one or more data arrays to produce corresponding high resolution data arrays. Themethod also includes obtaining procedural data representing high frequency spatial features of a simulated liquid surface, 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.

Background

DESCRIPTION OF DRAWINGS(1) FIGS. 1A-1C show various levels of details on a simulated volume of liquid.(2) FIG. 2 depicts a flow diagram associated with generating high resolution simulation data.(3) FIGS. 3A-3D illustrate partitioned computation of particle dynamics.(4) FIGS. 4A-4F illustrate an example of computing dynamics of particles.(5)FIGS. 5A-5D illustrate an example of computing a simulated surface from a group of simulated particles.(6) FIGS. 6A and 6B illustrate an example of selecting a group of particles within a particle simulation.(7) FIG. 7 is a flow chart depicting an example of operationsfor generating high resolution simulation data.(8) FIGS. 8 and 9 are flow charts depicting examples of operations for partitioned computations in particle simulations.(9) FIG. 10 is a flow chart depicting an example of operations for selecting a group of particles within a particle simulation.(10) FIG. 11 is a block diagram of computing devices and systems.DETAILED DESCRIPTION(11) High Resolution Liquid Simulation(12) Computer graphics applications, for example, as utilized in motion pictures and video games, often require simulationof a volume of liquid, such as an ocean, a river, a lake, a pool, a puddle, etc. FIG. 1A shows a simulated view 100 of an ocean as an example of such a simulated volume of liquid.Even though this document generally describes water as an example of a liquid, other examples include, without limitation, oil, alcohol, milk, or other fluids with di

Claims

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. 14. A system comprising: a computing device comprising: a memory configured to store instructions; and a processor configured to execute the instructions to perform 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 modifyingthe 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. 27. A computer program product tangibly embodied in a computer readable storage device and comprising instructions that when executed by a processor perform 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.