Générateur procédurale de villes WebGL

Générateur procédurale de villes WebGL

Caractéristiques

Langages JavaScript
Version En projet
Rendu Test WebGL

Description

Initialement, il s'agit d'une reprise du TP de Master 1 Générateur procédurale de ville mais en Javascript avec un rendu WebGL. Celui-ci sera cependant plus travaillé et permettera d'obtenir des villes plus probables, et intégrera la notion de réseau hydrographique et de reliefs.

L'idée d'origine pour la création du terrain était d'utiliser une unique surface paramétrique pour créer un maillage. Cependant cela risque d'inclure des complications lors de l'intégration du réseau hydrographique. En effet, soit une érosion est appliquée au maillage du terrain, soit le réseau est intégré à la surface paramétrique via des points de contrôle. Cependant cela risque de créer des incohérences ou un réseau trop peu marqué.

L'idée actuelle est donc d'utiliser une surface à base de voxels. Le terrain est ainsi généré via une surface paramétrique, où les voxels sont référencés dans une grille 3D multi niveau, puis une érosion est appliquée. Cette méthode offre de nombreux avantages, entre autres pour retravailler de façon précise le terrain (érosion, ajout d'objets, ajout de routes, etc), voir même pour obtenir différents niveaux de détails lors du rendu. Pour le rendu des voxels, un algorithme semblable au marching cube sera sans doute utilisé.

Pour la construction du réseau routier trois patrons seront disponibles dans un premier temps. Le plus simple est une grille, pour donner des villes du type Nord-américaines. Le second se base sur un diagramme de Voronoï, permettant d'obtenir des villes du type Européennes de l'époque industrielle (XVIII et XIXème siècle). Enfin le dernier patron a pour objectif d'avoir des villes du type médiévale. Pour cela une forme initiale est choisie (par exemple un hexagone), puis avec des opérateurs morphologiques (dilatation/erosion), le réseau de rues sera formé. Il sera possible d'ajouter quelques variantes aléatoires dans ces modèles. La zone de construction sera limitée par une zone préalablement établie lors de la génération du terrain.

Les batiments seront dans doute construit de plusieurs blocs afin d'utiliser les mêmes instances pour plusieurs étages/batiments.

Votre pseudo :
Votre commentaire :
Convertissez le nombre binaire suivant en base décimale : captcha
Envoyer