Fabrice NEYRET - Maverick team, LJK, at INRIA-Montbonnot (Grenoble)
The
Fourier transform helps
generating realistic and rich phenomenons such as material appearance
or wavy ocean surfaces: Physicists describe oceanographic wave
statistics with power spectrum and wave motion with dispersion law.
In
Computer Graphics this
has been used to synthesize realistic
ocean surface in movies, and nowadays it can even run in
real-time on graphics card using GLSL shaders, e.g. for
application in games
and simulators. Stochastic
textures can also be analyzed and synthesized with this tool.
Fourier
transform is thus a very powerful tool, but it comes with annoying
intrinsic
limitations: it generates only periodic worlds, statistically
homogeneous
along
space, and one cannot easily evolve the look along time as well.
Moreover, in real-time walk-through applications the world is vast,
and detailed if seen from nearby, so we can’t explicitly generate
everything once. Scalability and on-the-fly adaptiveness is thus
required: we need to be able to rescale dynamically the span and
precision while preserving seamless space
and time continuity
(i.e.,
without introducing horrible visual artifacts).
Similarly,
image textures to be analyzed must be periodic, which is not a
convenient constraint.
→
The
main purpose of this subject is to explore various ways
to overcome these limitations, making Fourier approaches more
pliable.
Being
already familiar with Fourier transform (some theory and practical
use, and related maths) will help.
NB: It will be the perfect
occasion to develop or deepen intuitions about this beast !
C/C++ and/or GLSL shading language ( e.g., cf shadertoy online example above ).
Familiarity with some math software (e.g. MATLAB/ Octave or others) will help.