vignette|Exemple de bruit de Perlin généré aléatoirement. En informatique, la génération procédurale (ou modèle procédural) est la création de contenu numérique (niveau de jeu, modèles 3D, dessins 2D, animation, son, musique, histoire, dialogues) à une grande échelle (en grande quantité), de manière automatisée répondant à un ensemble de règles définies par des algorithmes.http://www.di.ens.fr/~bouillar/Stages/Rapports/rapport_Michel.pdf École Normale Supérieure, Département d'Informatique, Rapport de Stage L3 - Génération procédurale de paysages à partir de cartes vectorielles - Intégration d'une mini-simulation géologique par Élie MICHEL le 29 août 2014. Le modèle procédural s’appuie sur les informations d'un algorithme pour créerhttps://tel.archives-ouvertes.fr/tel-01196438/document.

La méthode de génération procédurale trouve principalement application dans les domaines du jeu vidéo et du cinéma. Dans le domaine du jeu vidéo, il y a la notion de création à portée artistique ainsi que de conception de contenu à grande échelle, c'est pourquoi la notion de génération procédurale s'associe avec un contrôle a posteriori par l'artiste qui modifie l’environnement (simulation, modélisation) (aléatoire contrôlé).

La génération procédurale est une catégorie des techniques de modélisation (les deux autres étant la simulation informatique et la modélisation par esquisses ou par édition) permettant la création d'un monde virtuel cohérenthttp://liris.cnrs.fr/~apeytavi/these/Thesis.pdf https://tel.archives-ouvertes.fr/tel-00841373/document Thèse Université de Lyon - Génération procédurale de monde par Adrien PEYTAVIE de 2010.

Histoire En 1871, Édouard Gand, technicien et ingénieur du textile d'Amiens utilisant le métier Jacquard, propose une machine pour improviser les motifs des tissus, qu'il appelle le transpositeur ou l'improvisateur de tissus. Cette machine est conservée au Musée des arts et métiers (rattaché au Conservatoire national des arts et métiers), à Paris, sous le nom de « compositeur automatique ».

Ken Perlin propose en 1985 la fonction de bruit pseudo-aléatoire qui porte son nom. Cette fonction devient très vite un outil indispensable dans tous les domaines de la génération procédurale. propose ensuite une approche à base de fractales pour la génération procédurale, notamment pour la création des textures et de terrains. Aujourd'hui, de nombreux jeux vidéo comme Elite: Dangerous ou No Man's Sky utilisent la génération procédurale pour créer des mondes gigantesques allant jusqu'à la taille de l'univers. Plusieurs logiciels commerciaux proposent d'utiliser la génération procédurale pour la création de contenu numérique, comme Houdini ou encore SpeedTree.

Les applications de génération procédurale Les besoins en détails et en taille des mondes virtuels étant toujours plus grands, l'automatisation de la création de contenu numérique (par la génération procédurale ou une autre technique) est un enjeu importanthttps://tel.archives-ouvertes.fr/tel-00843000/document Nicolas Marechal. Génération de contenu graphique - Université Claude Bernard - Lyon I, 2010.. L'enjeu de la création de paysages complexes est d'y apporter un réalisme plus important, avec la prise en compte des interactions entre les éléments, d'adaptation à leur environnement. Les formes complexes comprennent les surplombs, des arches, des grottes, des couches de matières, l'empilement de pierre, les routes urbaines et de campagnes, et les espaces urbains etc.

Génération de terrains La génération de terrains tient une place importante dans la génération procédurale du fait de son importance visuelle à toutes les échelles, de l'arrière-plan jusqu'au premier plan. La génération de cartes de hauteurs (heightmap ou heightfield) s'intéresse à la surface du terrain pour la représenter en deux dimensions, excluant ainsi des éléments comme les grottes, les arches ou les surplombs au profit d'une représentation plus compacte en mémoire. Les modèles volumiques (souvent limités à l'utilisation de voxels) peuvent quant à eux représenter tous les types de caractéristiques de terrains trouvées sur terre, au prix d'un cout mémoire plus important.

Approche surfacique Les modèles de terrains surfaciques sont basés sur les cartes de hauteurs. La forme du terrain est défini par une grille régulière en deux dimensions dont chaque point est associé à une hauteur. Les premiers terrains utilisant ce modèle étaient générés par l'approche fractaleB. B. Mandelbrot. The Fractal Geometry of Nature. W. H. Freeman & Co Ltd, 1982.Musgrave, F. K., Kolb, C. E., & Mace, R. S. (1989, July). The synthesis and rendering of eroded fractal terrains. In ACM SIGGRAPH Computer Graphics (Vol. 23, No. 3, ). ACM.. L'approche surfacique permet de représenter des terrains pour un cout mémoire faible et est donc souvent l'approche privilégiée dans les jeux vidéo. Cette représentation permet également l'utilisation d'algorithme d'érosion ( ou ), qui est l'élément central du point de vue géologique.. C'est le modèle mis en avant dans de nombreux logiciels de modélisation de terrains ou de mondes virtuels, comme Unity, World Creator, World Machine ou encore Instant Terra de la société Wysilab.

Cette représentation a fait l'objet de beaucoup de recherches dans le monde universitaire, et plus d'informations peuvent être trouvé dans les référencesNatali, M., Lidal, E. M., Viola, I., & Patel, D. (2013). Modeling terrains and subsurface geology. Proceedings of EuroGraphics 2013 State of the Art Reports (STARs), 155-173.Smelik, R. M., De Kraker, K. J., Tutenel, T., Bidarra, R., & Groenewegen, S. A. (2009, June). A survey of procedural methods for terrain modelling. In Proceedings of the CASA Workshop on 3D Advanced Media In Gaming And Simulation (3AMIGAS) ()..

Approche volumique Les terrains à partir de voxels permettent de représenter des caractéristiques de terrains plus variées que les modèles surfaciques, au prix d'un cout mémoire plus important. Plusieurs travaux mettant en avant des grottes, des arches ou des surplombs. Certains jeux vidéo comme Minecraft ou Astroneer profitent de l'utilisation d'une telle structure dans leur gameplay. Pour être utilisé à grande échelle, de nombreuses structures de données efficaces telles que les octree doivent être développées.

Végétation et écosystème vignette|Des arbres générés procéduralement à l'aide de L-systèmes à graine aléatoire. La végétation et l'écosystème sont définis par l'ensemble des arbres et plantes interagissant avec l'environnement. Les plantes représentent un défi à représenter du fait de leur complexité d’éléments (racines, troncs, branches, fleurs, fruits, feuilles). Il existe différentes techniques pour leur création avec des embranchements (ramification) à chaque niveau, ou bien avec l'utilisation d'automates cellulaires pour définir les branches d'un arbreStefan Bornhofen and Claude Lattaud. Competition and evolution in virtual plant communities : a new modeling approach. Natural Computing : an international journal, 8(2) :349 385, 2009.Bedrich Bene² and Erik Uriel Millán. Virtual climbing plants competing for space. In Proceedings of the Computer Animation, page 33, 2002.N. Greene. Voxel space automata : modeling with stochastic growth processes in voxel space. In Proceedings of the 16th annual conference on Computer graphics and interactive techniques, pages 175-184, 1989.Wojtek Palubicki. Fuzzy Plant Modeling with OpenGL- Novel Approaches in Simulating Phototropism and Environmental Conditions. 2007.. Le réalisme des structures de plantes est notamment possible grâce à des diagrammes de structures de plantes et de fleursT. Ijiri, S. Owada, M. Okabe, and T. Igarashi. Floral diagrams and inflorescences : interactive flower modeling using botanical structural constraints. ACM Transactions on Graphics, 24(3) :720–726, 2005., combinées à une hiérarchie de plansT. Ijiri, S. Owada, and T. Igarashi. Seamless integration of initial sketching and subsequent detail editing in flower modeling. Computer Graphics Forum, 25(3) :617–624, 2006.. Des plantes grimpantes peuvent être créées en fonction de l’environnement lui-même, et non plus de manière indépendante, en gérant la distribution des racines en fonction de l'eau dans le sol. Pour la distribution de ces éléments, il existe plusieurs moyens : avec la simulation d'une croissance des plantes avec compétition entre elles, avec une carte de densité ou avec la méthode de pavage (efficace pour de grandes échelles, en distribuant par groupe et par duplication) avec la répétition d'une instance. Une autre technique consiste à utiliser plusieurs photographies avec de la simulation de particules peut générer des arbres avec un volume de voxels.

Il existe des méthodes pour animer le comportement des plantes qui se scindent en deux objectifs, chercher la lumière et conquérir le plus d'espace. Un des moyens de simuler l'écosystème est de représenter les éléments avec un point et une taille du point, lorsque les points se touchent, c'est la plus grande plante qui reste, l'autre disparaît lorsqu'elle atteint son espérance de vie ; et de la combiner avec une règle de groupe, qui fait que la même famille de plantes s'installe par groupe (en mourant d'autres apparaissent à côté d'elle), donc propagation de l'espèce. Cette méthode n'est cependant pas bien représentative car exclusive (aucune pousse n'est admise près d'un grand arbre). Le contrôle de ce processus peut se faire avec des cartes de densité, qui est fonction de la distribution de l'eau et de la capacité d'absorption par plante.

Paysages urbains Un paysage urbain est constitué d'un réseau de rues, de routes avec des blocs de bâtiments, de quartiers. Plusieurs travaux ont été effectués pour la génération automatique de réseaux routiers complexes (par l'utilisation d'un algorithme de plus court chemin pondéré par l'environnement) ainsi que des villages .

Génération de texture Le Procedural Shading est une technique de génération de texture.

Animation procédurale

Modélisation procédurale

Programmation procédurale

Génération par esquisses La génération par esquisses consiste à modéliser en contrôlant la forme du reliefJ. M. Cohen, J. F. Hughes, and R. C. Zeleznik. Harold : a world made of drawings. In Proceedings of the 1st international symposium on Nonphotorealistic animation and rendering, pages 83 90, 2000.N. Watanabe and T. Igarashi. A sketching interface for terrain modeling. In ACM SIGGRAPH Posters, page 73, 2004.. Cela définit les éléments importants (vallées, crêtes), le système construit alors le sol (génère le relief) à partir de l'empreinte (ligne pour vallées ou crêtes) de la montagne associée à ses lignes de vallées ou de crêtes, un contrôle a posteriori peut se faire par l'utilisateur.

Applications Jeux vidéo L'utilisation dans le jeu vidéo en massif, notamment dans le jeu vidéo indépendant permettant de répondre a des attentes spécifique aux joueurs, notamment la rejouabilité. Cette idée est souvent liée aux applications de synthèse d'image et au dans les jeux vidéo. Dans le jeu vidéo la génération procédurale correspond à l'application d'un aléatoire contrôlé (ou d'un faux aléatoire) régie par des règles définies dans le but de générer quelque chose d'unique mais en conservant une cohérence. L'objectif étant de pouvoir créer une très grande quantité de contenu tout en assurant une cohérence de l’environnement, en lui donnant un aspect unique. L'enjeu étant d'un point de vue du game design de proposer un nombre infini de niveaux uniques tout en contrôlant l'équilibrage de la difficulté pour le joueur. La génération d'objets par fragments permet de multiplier la variété des scènes et de leur réalisme.

Contrainte spécifique liée aux jeux vidéo