US2021232733A1PendingUtilityA1

Systems and methods for computer simulation of detailed waves for large-scale water simulation

Assignee: NVIDIA CORPPriority: May 23, 2018Filed: Apr 14, 2021Published: Jul 29, 2021
Est. expiryMay 23, 2038(~11.8 yrs left)· nominal 20-yr term from priority
G06F 30/20G06F 2111/10G06T 2210/24G06F 30/15G06T 13/60G06T 13/20
58
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Embodiments of the present invention provide a novel method and discretization for animating water waves. The approaches disclosed combine the flexibility of a numerical approach to wave simulation with the stability and visual detail provided by a spectrum-based approach to provide Eulerian methods for simulating large-scale oceans with highly detailed wave features. A graphics processing unit stores a one-dimensional texture referred to as a wave profile buffer that stores pre-computed results at a number of discrete sample points for performing wave height evaluation. The water surface is rendered according to water height values computed using the wave profile, accounting for advection, spatial diffusion, angular diffusion, boundary reflections, and dissipation.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A processor comprising:
 processing circuitry to render a fluid surface based at least in part on computing, using a pixel shader, at least one of advection, spatial diffusion, angular diffusion, boundary reflections, or dissipation corresponding to the fluid surface.   
     
     
         2 . The processor of  claim 1 , wherein the computing is executed, at least in part, using amplitude values represented in a simulation grid. 
     
     
         3 . The processor of  claim 2 , wherein the computing the angular diffusion is executed between neighboring directions within at least one grid cell of the simulation grid. 
     
     
         4 . The processor of  claim 1 , wherein the computing the boundary reflections includes distributing a value of a reflected sample along one or more directions closest to a reflected direction. 
     
     
         5 . The processor of  claim 1 , wherein the computing the dissipation includes modeling a viscosity of a fluid type corresponding to the fluid surface. 
     
     
         6 . The processor of  claim 1 , wherein the rendering the fluid surface is further based at least in part on updated amplitude values represented in a simulation grid, wherein the updated amplitude values are determined based at least in part on the computing. 
     
     
         7 . The processor of  claim 6 , wherein the rendering the fluid surface is further based at least in part on water height values computed using a precomputed profile buffer. 
     
     
         8 . The processor  claim 1 , wherein the computing includes computing two or more of the advection, the spatial diffusion, the angular diffusion, the boundary reflections, or the dissipation in a single pass of the pixel shader. 
     
     
         9 . A system comprising:
 one or more processing units;   one or more memory units storing instructions thereon that, when executed using the one or more processing units, cause the one or more processing units to execute operations comprising:
 precomputing one or more wave profiles; 
 storing the one or more wave profiles as a texture; 
 executing a texture lookup using the texture to compute one or more fluid height values based at least in part on the one or more wave profiles; and 
 rendering a fluid surface based at least in part on the one or more fluid height values. 
   
     
     
         10 . The system of  claim 9 , wherein one or more of the operations are executed using a pixel shader. 
     
     
         11 . The system of  claim 9 , wherein the rendering is executed using a single pass of a pixel shader. 
     
     
         12 . The system of  claim 9 , wherein the precomputing the one or more wave profiles includes evaluating a wave height function at one or more discrete sample points. 
     
     
         13 . The system of  claim 9 , wherein the rendering is further based at least in part on:
 computing, using a pixel shader, at least one of advection, spatial diffusion, angular diffusion, boundary reflections, or dissipation corresponding to the fluid surface; and   determining wave amplitude values based at least in part on the computing.   
     
     
         14 . The system of  claim 9 , wherein the texture is a one-dimensional texture. 
     
     
         15 . A method comprising:
 precomputing one or more wave profiles;   storing the one or more wave profiles as a one-dimensional (1D) texture;   executing a texture lookup using the 1D texture to compute one or more fluid height values based at least in part on the one or more wave profiles; and   rendering, using a pixel shader of a graphics processing unit, a fluid surface based at least in part on the fluid height values.   
     
     
         16 . The method of  claim 15 , wherein the rendering is executed using a single pass of the pixel shader. 
     
     
         17 . The method of  claim 15 , wherein the precomputing the one or more wave profiles includes evaluating a wave height function at one or more discrete sample points. 
     
     
         18 . The method of  claim 15 , wherein the rendering is further based at least in part on:
 computing, using the pixel shader, at least one of advection, spatial diffusion, angular diffusion, boundary reflections, or dissipation corresponding to the fluid surface; and   determining wave amplitude values based at least in part on the computing.   
     
     
         19 . The method of  claim 15 , wherein the executing the texture lookup includes approximating a 1D integral with a summation over one or more sampled angles. 
     
     
         20 . The method of  claim 15 , wherein the method is executed by a computing system executing a simulation program.

Join the waitlist — get patent alerts

Track US2021232733A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.