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