Fabrice NEYRET - Maverick team, LJK, at INRIA-Montbonnot (Grenoble)
Procedural
noise like Perlin
noise is a powerful tool to to populate 3D scenes with complex
stochastic apparence via surface textures or 3D density fields, in
real-time or offline image production. Alas, the expressive
world reachable by artists with this tool is limited. For instance,
anisotropy (preferred orientation, possibly changing along location)
is present in many natural patterns (e.g. geological features, wood,
cloud wisps, nebulas...), but managing anisotropy with Perlin noise
is very difficult: distorting parameterization or varying
parameters along space generally gives surprisingly
awful results. Gabor
noise do better because splat are independents while Perlin
noise is a continuous function, but oppositely to Perlin noise there
are way too many parameters and the evaluation is very
costly.
Still, several ingredients give hope: A
recent Disney's
Siggraph talk proposed to distort the Perlin basis according to a
vector field, getting promising results, and several studies propose
to blend distorted texture splats. Also, we published several works
about how to smart-blend
so as to way-better preserve properties.
The purpose of this subject is to experiment different new techniques around these ingredients and new ones, as well as ways to conveniently design direction fields, so as to enrich the toolbox with high quality but still high performance more pliable tool for artists to design 2D and 3D procedural anisotropic fields.
C/C++,
general culture in Computer Graphics and Maths.
Some experience
on both using and coding procedural textures would be welcomed, as
well as GLSL shading langage or equivalent.
See papers and presentations in the links above.