350 likes | 460 Vues
Advected textures. Fabrice Neyret EVASION - GRAVIR / IMAG - INRIA Grenoble, France. Purpose: amplifying fluid simulation. Purpose: amplifying fluid simulation. Why not simply increase resolution ?. Cost: N log(N) / time step with N=1000^3 Storage
E N D
Advected textures Fabrice Neyret EVASION - GRAVIR / IMAG - INRIA Grenoble, France
Why not simply increase resolution ? • Cost: N log(N) / time step with N=1000^3 • Storage • Problems with CFD for CG [Lamorlette&Foster 02] • Unknown small scale phenomena vsartist desires + phenomenological knowledge
Why not simply increase resolution ? • Cost: N log(N) /timestep with N=1000^3 • Storage • Problems with CFD for CG [Lamorlette&Foster 02] • Unknown small scale phenomena vsartist desires + phenomenological knowledge
Why not simply increase resolution ? • Cost: N log(N) / timestep with N=1000^3 • Storage • Problems with CFD for CG [Lamorlette&Foster 02] • Unknown small scale phenomena vsartist desires + phenomenological knowledge
Why not simply increase resolution ? • Cost: N log(N) / timestep with N=1000^3 • Storage • Problems with CFD for CG [Lamorlette&Foster 02] • Unknown small scale phenomena vsartist desires + phenomenological knowledge
Advecting textures • = Advecting u,v [Max&Becker 96, Stam 99] • Regeneration • blending 3 dephased textures (illusion of motion) • latency = life duration
Problems with texture advection 1 2 3 • Choosing the latency • Blending textures • Sub-animation
Problems with texture advection 1 2 3 • Choosing the latency • Blending textures • Sub-animation
Problems with texture advection 1 2 3 • Choosing the latency • Blending textures • ghosting effects • Sub-animation
Problems with texture advection 1 2 3 • Choosing the latency • Blending textures • Sub-animation
Problems with texture advection 1 2 3 • Choosing the latency • Blending textures • Sub-animation
1. Advecting textures • A latency value is ok for a range of velocities (V) • bad motion illusion if V < • texture stretching if V >
1. Advecting textures • Adapting latency locally • Layers of given latency + masks • Local criterion • cumulated deform = particle integral of |e| • Target deform d*
1. Advecting textures • Adapting latency locally • Layers of given latency + masks Layer 1: lat1 Layer 2: lat2 (>lat1) Layer 3: lat3 (>lat2) • Local criterion • cumulated deform = particle integral of |e| • Target deform d*
12 3 1. Advecting textures • Adapting latency locally • Layers of given latency + masks • Local criterion • cumulated deform = particle integral of |e| • Target deform d*
2. Blending textures • Image textures • Procedural textures
2. Blending textures: image textures • What to do ? (morphing ?)
Our solution: 2. Blending textures: procedural textures
3. Sub-animation • Flownoise [Perlin&Neyret 01]
3. Sub-animation • Flownoise for sub-scales • rotations vorticity spectrum • Kolmogorov cascade
3. Sub-animation • Flownoise for sub-scales • rotations vorticity spectrum < > • Kolmogorov cascade
E CFD sub-grid microscale k = 2p/l k0 ke 3. Sub-animation • Flownoise for sub-scales • rotations vorticity spectrum < > • Kolmogorov cascade
< > < > 3. Sub-animation • Vorticity energy transfer through scales • distribution law for ( power law ) • only needs to scale it ( estimate ) • Our case: • heterogeneous fluid ( locality -> no Fourier ) • not at equilibrium ( transfer delay -> time ) • user control • relaxation
< > < > 3. Sub-animation • Vorticity energy transfer through scales • distribution law for ( power law ) • only needs to scale it ( estimate ) • Our case: • heterogeneous fluid ( locality -> no Fourier ) • not at equilibrium ( transfer delay -> time ) • user control • relaxation (user-defined parametersbkandgk )
Conclusion • Mixing lo-res CFD and hi-res animated texture: • A model efficient & controllable • Future work: • 3D applications: detailed clouds & avalanches • Better flownoise control • Manage empty space • Hardware procedural shader
Advected textures Fabrice Neyret EVASION - GRAVIR / IMAG - INRIA (Grenoble, France)
Sub-animation parameters • parametersbkandgk: • small b: reactive high b: inertial • small g: viscous high g: light