2019-12-03 15:05:42 +01:00
|
|
|
% Dans le monde de l'Infographie, la possibilité d'ajouter des détails sur des
|
|
|
|
% textures de manière procédurale et presque instantanément est devenue presque
|
|
|
|
% incontournable dans des domaines tels que les jeux vidéos, les animations ou
|
|
|
|
% encore les effets spéciaux. De tels procédés sont appelés des (pixel) shaders
|
2019-12-03 17:06:45 +01:00
|
|
|
% (ou nuanceurs de pixels en français). L'article ici étudié se nomme
|
|
|
|
% «Procedural Phasor Noise» et porte sur une nouvelle conception de shader,
|
|
|
|
% grandement inspiré d'une autre étude intitulée «Gabor Noise».
|
2019-12-03 15:05:42 +01:00
|
|
|
|
2019-12-03 17:06:45 +01:00
|
|
|
% Nous allons donc étudier au travers de ce rapport, ce que sont les shaders
|
|
|
|
% plus en détails, avant d'introduire la méthode Gabor Noise pour enfin
|
|
|
|
% déboucher sur le sujet d'étude en lui-même, Procedural Phasor Noise et ainsi
|
|
|
|
% voir les améliorations apportées par ce dernier par rapport aux autres
|
|
|
|
% méthodes de shading.
|
2019-12-03 15:05:42 +01:00
|
|
|
|
|
|
|
Dans le monde de l'Infographie et plus particulièrement dans le domaine de la
|
|
|
|
modélisation, les textures sont devenues indispensables pour associer un modèle
|
|
|
|
et une image, afin de créer un objet réaliste, avec sa forme et ses motifs,
|
|
|
|
apportés par les textures. Les domaines d'application sont nombreux,
|
|
|
|
l'animation, les images de synthèses utilisées dans les films, ou encore les
|
|
|
|
jeux vidéos. Plus les textures sont précises (et donc par conséquent lourde en
|
|
|
|
terme d'espace disque), plus la qualité du rendu final sera réaliste.
|
2019-12-03 17:06:45 +01:00
|
|
|
\newline
|
2019-12-03 15:05:42 +01:00
|
|
|
|
|
|
|
Il se pose par conséquent une question de limitations, en effet, ces textures de
|
|
|
|
très hautes qualités prennent certes de la place, mais également du temps à
|
|
|
|
concevoir et à créer. Un autre problème peut également intervenir, même si l'on
|
|
|
|
veut une texture très belle et que l'on peut y arriver, on aimerait dans l'idéal
|
|
|
|
avoir plusieurs textures pour un type d'objet donné. Prenons l'exemple des jeux
|
|
|
|
vidéos, il serait assez facheux de n'avoir que 3 ou 4 textures pour les arbres,
|
|
|
|
donnant ainsi une diversité assez pauvre et une répétition qui peut vite lasser
|
|
|
|
l'utilisateur, qu'importe la qualité de rendu de ces dites textures.
|
2019-12-03 17:06:45 +01:00
|
|
|
\newline
|
2019-12-03 15:05:42 +01:00
|
|
|
|
2019-12-03 20:00:13 +01:00
|
|
|
Avoir suffisamment de textures de bonne qualité prendrait beaucoup trop de temps
|
2019-12-03 15:05:42 +01:00
|
|
|
et de place pour pouvoir être créé. Il faudrait donc palier à cela en utilisant
|
|
|
|
d'autres procédés. Fort heureusement, ces procédés existent et se basent pour la
|
|
|
|
plupart sur des particularités présentes dans la nature, et un point commun
|
|
|
|
entre les objets visibles dans la nature est bien entendu le hasard. De plus,
|
|
|
|
les objets et formes de même type ont des propriétés communes entre elles. De ce
|
2019-12-03 20:00:13 +01:00
|
|
|
fait, nous sommes en mesure de créer des fonctions mathématiques basées sur
|
2019-12-03 15:05:42 +01:00
|
|
|
l'aléa capables de s'adapter, moyennant certains paramètres, à plusieurs
|
|
|
|
textures présentes dans la nature. Pour rendre le tout encore plus attractif,
|
|
|
|
ceci se fait de manière procédurale.
|
2019-12-03 17:06:45 +01:00
|
|
|
\newline
|
2019-12-03 15:05:42 +01:00
|
|
|
|
2019-12-03 20:00:13 +01:00
|
|
|
Avec cette méthode, nous sommes donc capables de palier non seulement la
|
|
|
|
qualité mais aussi la diversité des textures concevables, le tout de manière
|
2019-12-03 15:05:42 +01:00
|
|
|
presque instantannée et sans prendre d'espace disque. Ce type de texture est
|
|
|
|
plus communément appelé \guillemets{textures procédurales} et permet la synthèse
|
|
|
|
de textures comme le bois, le marbre, le granite, le métal…
|
2019-12-03 17:06:45 +01:00
|
|
|
\newline
|
2019-12-03 15:05:42 +01:00
|
|
|
|
|
|
|
Ces textures procédurales sont cependant générées avec des procédés différents
|
|
|
|
selon le type de texture que l'on souhaite obtenir, ces procédés sont appelés
|
|
|
|
les générateur de bruits, puisque basés sur l'aléa. On notera cependant que
|
2019-12-03 20:00:13 +01:00
|
|
|
certaines méthodes telles que le texturage cellulaire ne se basent pas sur un
|
2019-12-03 15:05:42 +01:00
|
|
|
générateur de bruit.
|
2019-12-03 17:06:45 +01:00
|
|
|
\newline
|
2019-12-03 15:05:42 +01:00
|
|
|
|
|
|
|
Dans ce rapport, nous allons donc voir différents types de générateurs de
|
|
|
|
bruits, on se limitera cependant aux générateurs de bruits gradients, par
|
|
|
|
oppositions aux bruits de valeurs. Dans un premier temps, nous verrons l'exemple
|
|
|
|
du bruit de Perlin, s'en suivra le bruit de Gabor qui a inspiré notre dernière
|
2019-12-03 20:00:13 +01:00
|
|
|
partie qui se concentre autour du sujet d'étude: le \guillemets{Phasor Noise}.
|