models of animated rivers for the interactive exploration of landscapes

of 134 /134
a Ph.D. Defense by Qizhi Yu Under the Advisements of Dr. Fabrice Neyret Dr. Eric Bruneton November 17, 2008 Grenoble Institute of Technology (INPG) 1

Author: guy-atkinson

Post on 30-Dec-2015

13 views

Category:

Documents


0 download

Embed Size (px)

DESCRIPTION

Grenoble Institute of Technology (INPG). a Ph.D. Defense by Qizhi Yu Under the Advisements of Dr. Fabrice Neyret Dr. Eric Bruneton November 17, 2008. Models of Animated Rivers for the Interactive Exploration of Landscapes. Outline. Introduction Previous work Strategy overview - PowerPoint PPT Presentation

TRANSCRIPT

  • a Ph.D. Defense byQizhi Yu

    Under the Advisements of Dr. Fabrice Neyret Dr. Eric Bruneton

    November 17, 2008Grenoble Institute of Technology (INPG)*

    qyu

  • IntroductionPrevious workStrategy overviewContributionsConclusion*

  • IntroductionPrevious workStrategy overviewContributionsConclusion*

  • *

  • *

  • ObjectiveSynthesize visually convincing riversStudy contentModelingRiver shape & surface detailsAnimatingWater motion in rivers.

    *

  • Many applications, need more studies

    EA: CrysisGoogle Earth*

  • Multi-scaleGeometry Kilometer-scale length millimeter-scale wavesWater motionKilometer-scale mean flow millimeter-scale fluctuationComplicated physicsTurbulence Surface phenomena

    *

  • Modeling and animating rivers ConstraintsReal-timeScalabilityControllabilityRealism

    25 fps or more

    *

  • Modeling and animating rivers ConstraintsReal-timeScalabilityControllabilityRealism

    Very long or unbounded rivers Camera moves arbitrarily *

  • Modeling and animating riversConstraintsReal-timeScalabilityControllabilityRealism

    Intuitive handles for controlling appearance and behavior of rivers *

  • Modeling and animating rivers ConstraintsReal-timeScalabilityControllabilityRealism

    Animated surface details with temporal and spatial continuity*

  • Modeling and animating rivers ConstraintsReal-timeScalabilityControllabilityRealism*

  • IntroductionPrevious workStrategy overviewContributionsConclusion*

  • 3D Navier-Stokes simulation2D depth-averaged simulation2D simulation Surface wave models (2D) *

  • 3D Navier-Stokes simulation2D depth-averaged simulation 2D simulationSurface wave models (2D) *

  • Incompressible Navier-Stokes equations Momentum conservation

    Volume conservation

    Boundary conditions

    Computational Fluid Dynamics (CFD)Numerical methods

    *

  • CFD CG fluid animationStable solver [stam99]Two approachesEulerian : defines quantities at fixed pointLagrangian: defines quantities at particles

    *

  • Water animation [EMF02] Solve NSE numerically on a grid to get velocities Use level-set to track water-air interface

    *

  • Pouring water in a glass [EMF02]15 minutes per frame 55 x 120 x55 grids

    Computationally expensive! *

  • Poorly scalable CG (stable solver): O(N^3)Difficult to control for artistsWater Behavior Initial values, boundary conditionsNo intuitive relation

    *

  • Smoothed Particle Hydrodynamics (SPH) [MCG03]Solve NSE in the Lagrangian formalism Compared with Eulerian approachEasier adaptive to complex domain Difficult to reconstruct a smooth surfaceFor our purposeSimilar problems as Eulerian approach

    *2200 particles5 fps

  • 3D Navier-Stokes simulation2D depth-averaged simulation 2D simulationSurface wave models (2D) *

  • 2D Shallow Water model [Mol95]Commonly used in Hydraulics for simulating riversAssumptionsHydrostatic approximation

    No vertical water motionIntegrate the NS equations along vertical direction Unknowns: depth-averaged velocity & elevation of water surface

    *

  • PropertiesA lot faster than 3D N-S simulationLoss some 3D surface features (e.g. overturning )Shallow waves ( wavelength >> depth)For our purposeStill too expensive, especially for large rivers Bounded domain (like other simulation).

    *

  • Linear wave equation [KM90]Simplified from shallow water modelAssumptions constant water depth, no advection termPropertiesFast, cant simulate river flow

    *

  • [Irving et al. 06]20 processors25 minutes per frame*

  • 3D Navier-Stokes simulation2D depth-averaged simulation2D simulationSurface wave models (2D) *

  • Simulate 2D velocity by solving 2D N-Sno surface elevation simulated Use tricks for surface elevationPressure [CdVL95] Noise [TG01]

    *

  • 3D Navier-Stokes simulation2D depth-averaged simulation2D simulationSurface wave models (2D) *

  • AssumptionDeep water: wave length
  • AssumptionHeight fieldA procedural methodParticles on surfaces, advected with a fixed speed Each carries a wave shape functionSuperpose all particles height fieldPropertiesImitate object-water interactionNo water flow

    *

  • Superpose sine waves [FR86, Pea86]Dynamic wave tracing [GS00]Ship wave [Gla02]

    *[Gla02][GS00][Pea86]Not for river flow

  • Many work on water or wave animation (CG), river simulation (Hydraulics)None for river animation under our constrains: Real-timeScalabilityControllability

    *

  • IntroductionPrevious workStrategy overviewContributionsConclusion*

  • Model river aspects in three scales, from coarse to fine*

  • Model river aspects in three scalesMacro-scale: river shape & mean water surface

    *

  • Model river aspects in three scalesMacro-scale: river shape & mean water surfaceMeso-scale: individual & structured waves

    *

  • Model river aspects in three scalesMacro-scale: river shape & mean water surfaceMeso-scale: individual & structured waves Micro-scale: continuous field of small waves

    *

  • We need river velocityCause of many meso-scale phenomenaAdvect surface featuresModel water motion in three scalesMacro-scale: mean flowMeso-scale: individual perturbationsMicro-scale: continuous irregular fluctuations

    *

  • We need river velocityCause of many meso-scale phenomenaAdvect surface featuresModel water motion in three scalesMacro-scale: mean flowMeso-scale: individual perturbations Micro-scale: continuous irregular fluctuations

    We wont solve ALL phenomena in this thesis .*

  • IntroductionPrevious workStrategy overviewContributions1: Macro-scale2: Meso-scale3: Micro-scaleConclusion*

  • IntroductionPrevious workStrategy overviewContributions1: Macro-scale2: Meso-scale3: Micro-scaleConclusion*

  • GoalShape of riversMean flow of rivers

    *

  • GoalShape of riversMean flow of rivers

    GIS or previous work [KMM88]*

  • Input river shape (described as a network)

    *

  • Assumption a 2D steady flowVisually convincing velocityDivergence free IncompressibleBoundary-conforming Flowing from source to sink (given flow rate Q)ContinuousRequirements of algorithmsFast, scalable and controllable*

  • Some existing work [BHN07] suggest using stream function to get divergence-free vector field

    *

  • Stream function is defined such that

    Incompressibility

    *

  • Properties of stream functionConst along boundariesRelates to the volume flow rate

    Extend to a river networkGiven flow rates and a river network all boundary values*

  • Given flow rates, and boundary valuesHow to determine the internal field ?

    *

  • Assumption Irrotational (potential) flow

    *

  • Observe a numerical solution of a Laplace equation Streamlines (isocurve of stream function) *

  • [GW78]Interpolant of the Inverse-Distance Weighted interpolation (IDW) [She68] similar to the harmonic functions.We adapt IDWlocal for the performance reasonsprovide parameters for controlling velocity profile*

  • *d distance to boundariesf smooth functions search radiusp parameters

  • Our result Numerical solution*

  • Finite difference

    *

  • Interpolation relies heavily on distance queryAcceleration neededCombine with tile-based terrain [BN07]Generate an acceleration data structure in each newly created terrain on-the-fly

    Please see the thesis for more details.*

  • *

  • Procedural river flowFastScalableCalculate at neededVelocity locally dependentControllable Control velocity: flow rates, interpolation parametersEdit shape of river on-the-fly*

  • IntroductionPrevious workStrategy overviewContributions1: Macro-scale2: Meso-scale3: Micro-scaleConclusion*

  • GoalModeling individual & structured wave features on river surfaces, with our constraints.Real-timeScalabilityControllabilityQuality

    *

  • *Real scene

  • High-resolution required for simulation and rendering

    *

  • Construct the vector features from a given velocity field without numerical simulationShockwaveRipples*

  • ProblemsNeed to be improved robustness & efficiencyNo solution for surface reconstruction and rendering *

  • Improve on existing model [NP01]ResultMean flow shockwave curves (wave crests) Animated by adding perturbation to the mean flow

    *

  • Improve on existing model [NP01]ResultMean flow shockwave curves (wave crests) Animated by adding perturbation to the mean flow

    Macro-scaleMeso-scale, [WH91]*

  • Improve on existing model [NP01]ResultMean flow shockwave curves (wave crests) Animated by adding perturbation to the mean flowVery efficient

    *

  • Improve on existing model [NP01]Construct appropriate representation from wave features for high-quality rendering

    *

  • lo-res base water surface + hi-res wave surface*

  • lo-res base water surface + hi-res wave surfaceMacro-scale*

  • lo-res base water surface + hi-res wave surfaceMeso-scale*

  • Feature-aligned mesh reduces geometric aliasing ( normal-noise)Not feature-alignedFeature-aligned*

  • Define wave surface as sweeping a wave profile along the wave curveUser defined Wave profileWave curve*Water surface mesh

  • Sample by a quad mesh aligned the wave curvev*Wave curve

  • Accurate normals from the wave profileuvBNTP(u,v)v*

  • Mesh stitching ?Re-mesh base surface at each frame, too expensiveWe solve it in the rendering stage Please refer to the thesis for more details*

  • *

  • Simply draw two wave strips with Z-buffer*

  • Generate a dedicated mesh at crossing*

  • Final result*

  • *

  • Approach: feature-based vector simulationSimulation: construct & animate vector featuresRendering: featured-based representation*

  • IntroductionPrevious workStrategy overviewContributions1: Macro-scale2: Meso-scale3: Micro-scaleConclusion*

  • Goal Modeling small scale animated surface featuresApproachdynamic texturesTwo workWave spritesFocus on performanceLagrangian texture advectionFocus on quality

    *

  • IntroductionPrevious workStrategy overviewContributions1. Macro-scale2. Meso-scale3. Micro-scaleWave spritesLagrangian texture advectionConclusion*

  • Sprite: a small textured elementSprites in texture world [LN03,LHN05] to get large high-resolution texture , low memoryIdea: combine animation + texture spritesto get very large river with animated details, efficiently.

    *

  • *

  • Dynamic adaptive samplingA set of particles in world space advected by flowKeep Poisson-disk distribution in screen space.Attach a textured sprite to each particle

    *

  • Dynamic adaptive samplingA set of particles in world space advected by flowKeep Poisson-disk distribution in screen space.Attach a textured sprite to each particle

    Why ?*

  • Uniform densityOverlapping as little as possibleEasy to ensure spatial continuitySuperimposing sprites (with r=d) ensures no-holesrr = d diameter of poisson-disk *

  • Dynamic adaptive samplingA set of particles in world space advected by flowKeep Poisson-disk distribution in screen spaceAttach a sprite to each particle

    Auto-adapt to distance*

  • AlgorithmAdvect particles with the flow in world spaceDelete particles out of the view frustumDelete particles violating the minimum distance required by the Poisson-disk distribution (in screen space)Insert particles to keep Poisson-disk distribution

    *

  • AlgorithmAdvect paticles with the flowDelete particles out of the view frustumDelete particles violating the minimum distance required by the Poisson-disk distribution (in screen space)Insert particles to keep Poisson-disk distribution

    Boundary-sampling algorithm [DH06]*

  • Spatial continuitySmooth kernelConstrained sampling issues near boundaryTemporal continuityFading in/outPlease refer the thesis.

    *

  • A set of sprites well distributedEach sprite Live in texture spacemaps to a portion of a reference textureReconstruct the global textureSprite has circular kernel in screen space , but ellipse in object spaceSo we superimpose them in screen space*

  • *

  • *Efficient GPU. Inspired from [LN05]

  • *

  • Wave-spritesTexture flow surface with scene-independent performance (in real-time)

    LimitationNo sprite deformation consideredSliding of texture between sprites bad especially in place where velocity gradient is high

    *

  • IntroductionPrevious workStrategy overviewContributions1. Macro-scale2. Meso-scale3. Micro-scaleWave spritesLagrangian texture advectionConclusion*

  • A technique of dynamic textureConform to the input flowConserve texture properties (e.g. spectrum)PurposeAugment coarse simulation with small scale appearance

    *

  • Advect texture coordinatesTexture follow flow and deformBut, over stretching destroy texture propertiesRegenerate a textureAfter a delay: latencyBlend two de-phased textures Illusion of advection

    *

  • How to choose a reasonable latency ? high bad conservation of spectrum low bad conformation to flow Good one: adapt to local flow condition (deformation)

    In [MB95], only one global value*

  • Idea: adaptive local latencyLocal deformation metrics sMIPmap-like approach:Multiple layers of texturesEach layer = Eulerian advection methodAssign different latency to each layerFor each pixel, interpolate two nearest layers according to local s

    *

  • latency of all layers are bounded in a rangee.g. For zero-velocity , the ideal latency should be infinity close to still area, we cant choose a good latency value Interpolation : not accurateEulerian formalism not optimal in large sparse domain (clouds, fire)

    *

  • Idea Lagrangian formalism as in wave sprites workAttach to each particle a deformable textured patches mapping to a reference textureReconstruct a global texture by blending all patches

    *

  • Advected by flowDynamic Poisson-disk distribution

    d*

  • Init: regular gridKernel radius = dEnsure full coveragePatch size > 2d Allow deformation2ddsizePoisson-disk*

  • Init: regular gridKernel radius = dPatch size > 2dMap to a random portionStore (u, v) at nodesUV*

  • Nodes advected by flow

    *

  • Nodes advected by flow Delete a patch Exceed some deformation metric

    *

  • Nodes advected by flow Delete a patch Exceed some deformation metricPatch boundary intersects with kernel

    A new patch would be generated nearby automatically by Poisson-disk distribution mechanism*

  • Temporal & spatialInsert / delete temporalSmooth kernel spatialDefine various temporal and spatial weights on grid nodes

    Please see details in the thesis*

  • Encode all patches into one texture TpatchTexcoords (u, v)Weights w(x, t) Accessing the advected textureFor each pixelDetermine the patches covering current pixelAccess reference texture via Tpatch Blending with weights (only kernel parts!) *

  • *

  • Compare against Eulerian advectionFFTTo evaluate the appearant spectrumOptical flowTo evaluate the appearant motionInput reference texture 3-octave Perlin noise

    *

  • Various input flow

    Please see my webpage for more video results*RotationShearFreeBoundary

  • *

  • *

  • We target textures specified by global properties, e.g. spectrumUseful for natural flowFor non-noise texturesMany of them work wellHigh-structured onesSuffer from ghosting effectsFuture work: choose best match portion from reference texture*

  • *

  • *

  • LimitationPatches carry wavelength < kernel size low frequency: treated at the particle level (i.e. simulation)

    *

  • A new texture advection methodLagrangian formalismBrings decorrelation of texture mapping and regeneration eventsLocal patchesEnsure continuous texture animation Provide accurate distortion metric

    *

  • IntroductionPrevious workStrategy overviewContributionsConclusion*

  • By using our modelsOne can achieve real-time, scalable, and controllable river animation with temporally and spatially continuous details on current desktop *

  • Macro-scaleVelocity: more studies on parametersInfluence of slope of river bed

    *

  • Meso-scaleHydraulic jumps, ship waves and wakes ...*

  • Micro-scale I: wave spritesVarious reference textures: domain wise controlSprites density: adaptive to flow condition

    *

  • Micro-scale II: Lagrangian texture advectionExtend to 3D volume Improve: for high-structured texture

    *[RNGF03]

  • Put models togetherIntegrate with existing systems Google Earth, Proland [BN08], video games *EA: CrysisGoogle EarthProland

  • *

  • a Ph.D. Defense byQizhi Yu

    Under the Advisements of Dr. Fabrice Neyret Dr. Eric Bruneton

    November 17, 2008Grenoble Institute of Technology*

    ****.*Generally, the purpose of the study of rivers in computer graphics is to synthesize visually convincing rivers.

    For this purpose, we need to model the shape of rivers and surface details, in addition, we need to model the water motion in rivers.

    Rendering of water is out of the range *

    Nowadays, more and more computer graphics applications have the ambitious to present virtual but realistic natural scenes. In these scenes, rivers is an important feature.

    However, rivers in current applications are still not realistic enough, especially in the real-time case. For example, in the video game Crysis, rendering of water is good, but the water can pass through solid boundaries, which is not natural.

    Moreover, river animatin is particully difficult in a very large scene.For example, Google Earth a GIS application, that allows users to navigate in the whole world. But rivers in Google earth is static.

    Therefore, we need more studies of rivers in computer graphics, especially for the real-time case.

    *

    **Second, we want to handle very long or even unbounded rivers, and , in the scene, the camera can move arbitrarily, the users can observe rivers very closely, or observe rivers far away. All these require our algorithms should be scalable.

    *****

    In computer graphics, there is a lot of work on water or surface waves animation. But not too much work specific to river animation.In addition, In hydraulics field, there is a lot of work on river simulation.

    Now we discuss them in 4 categories, according to the visual features they are able to model..

    . *

    The first is water simulation, in this category, the physical quantities are defined and simulated in 3D.

    The second is river simulation, it this category, the physical quantities are averaged in vertical direction, and water depth is considered in the models.

    The final category is suface wave models, these models are purly 2D. *

    *

    The cfd techqniues can be used for animation purpose. Here, an important work is Stams stable solver.% makes the CFD techniques practical for animation problems. Their method allows large time-steps while being stable. Certaitly, it will loss some accuracy, but it could be accepted in animation.

    Note that there are too approaches for solving NS equations. The Eulerian approach, define quantities at fixed points in the sapce. While, the Lagrangian approach defines quantities at particles that follow the flow.

    Generally, there are two approaches for solving the ns equations.

    Shorten sentences

    Stable solver less accurate

    One

    with an implicit function

    Many work has been done to use CFD tech for the animation purpose

    Basically, it includes two steps.

    Here we need a stable solver tailored for computer animation. The stable solver proposed by stam are commonly used. The stable solver is important since it allows us to use a large time step while keeping the simulation stable. Certainly, it will loss some physical accurity, but it is basically accepted for the animation purpose.

    The level-set method track the interface by advecting an implicit function. It can handle interface with complicated *

    This is a typical water animation work that uses 3D NS queations and Eulerian approach

    Water animtion that use NS simulation with Eulerin approch.

    First, they solve NSE on a grid to get the velocities. And then, they uses leve-set method to track water-air interface by advecting by advecting an implicit function

    Many work has been done to use CFD tech for the animation purpose

    Basically, it includes two steps.

    Here we need a stable solver tailored for computer animation. The stable solver proposed by stam are commonly used. The stable solver is important since it allows us to use a large time step while keeping the simulation stable. Certainly, it will loss some physical accurity, but it is basically accepted for the animation purpose.

    The level-set method track the interface by advecting an implicit function. It can handle interface with complicated **

    *

    SPH method is a typical Lagrangian approach.

    Compared with eulerian approach, it is easier adaptive to complex domain, but it is more dificult to reconstruct a smooth surface from particles.

    For our purpose, it also surffers similar problems as the Eulerian.

    The method is still expensive. In this image, About 2000 particles are used for simulating pouring water in a glass, it runs in 5 fps. Note that this a very small domain compared with rivers.

    ***

    ***. ***

    ****.***

    In the meso scale, we model individual and strcuture dwaves. Such as ****In this work, we assume that the shape of rivers is available from GIS or previous work. *. ****

    *Our opportunity is that, in computer animation, we do not need physically accurate velocity. We only need a velocity file that looks like the real river.

    First,

    **The streamlines inside look like interpolation of the border.

    ****

    ***Change the color**Simulating this phenomenon is difficult *

    So, my first work here is to improve on the existing model

    But , I will not introduce the method in this talk.

    The main results are:

    Given a velocity field, we can get a shockwave curve (crest) Wave curves animated by perturbating the mean velocity field

    Very efficient, easy for keyframing

    *Vector-data, feature-based simulation ->>> It is very efficient. Easy for keyframe, if do not like the simulation.

    Pertubation should be considered in meso-scale. And we can use [WH91] work by superposing local analytic velocity field to the mean flow.*****

    We consider to construct feature-aligned wave surface.

    ****Real-time *, **

    ****

    Ensure temporally continuous

    ****].*Now I detail the algorithm***We have obtained *****

    *Add a video***Put a video here. ***Show velocity profile.*

    of advected texture

    calculated from advected texture*Put images here. Various flow.*Show velocity profile.*Advecting texture is a general prolem, has a wider range than river**Now I show you texture advection with non-noise texture.***

    We know some qualitive realtion between interpolation parameters and the profile of velocity, but not accurate.

    Also, moving boundary need efficient data-structure for update distance.

    Also about water depth.

    Unsteady water surfacesTime-variant depth and boundaries

    *Images*

    Also, use images here. Foam ..

    Now sprites only adaptive to the view distance. We would like to make it adaptive also to the flow conditions.*

    . ***