Outre les réponses existantes, j'aime la façon dont les textures 3D peuvent également être créées de manière procédurale (en fait, cela a plus de sens qu'une texture procédurale 2D), comme le bruit et les fractales qui fourniront de bons détails de texture non déformés à toutes les surfaces d'angle sans avoir pour sélectionner un modèle de projection (UV, planaire, cylindrique, sphérique, etc.).
Au lieu d'échantillonner une couche bitmap dans l'espace 3D, vous obtenez une valeur distincte pour chaque point dans l'espace 3D avec un algorithme de base - ce qui vous donne essentiellement une résolution de texture infinie et aucun problème avec les textures étirées sur des polygones inclinés. Ce sont des "textures" 3D ou plutôt un ombrage de surface pour moi ^^
En fait, je suis assez fatigué de tout le tabac à priser de texture bitmap dans le développement de jeux, quand je veux salir un vaisseau spatial, je veux appliquer quelques couches de formules de bruit et ne pas avoir à peindre un bitmap à résolution limitée. Un vieux buff 3D peut rêver, non;)
En ce moment, la pré-cuisson de ces douces solutions de surface de film 3D oldschool en couleurs, bitmaps UV normales et spéculaires est à peu près le seul plaisir que j'obtiens et cela semble ennuyeusement limité. La scène de démonstration (comme toujours) a tendance à (pré) générer des textures procédurales pour la 3D en temps réel, mais il est difficile de trouver de bons outils pour prendre en charge ce flux de travail de la conception à l'exécution. La plupart des approches procédurales des développeurs de jeux semblent concerner la génération de maillages. Vous vous demandez combien le pipeline de shaders à l'aide d'une carte de profondeur / rendu différé pourrait gérer les algues de bruit 3D oldschool?
... plutôt que d'essayer de comprendre comment mapper une image de texture de manière paramétrique sur la surface de votre forme, la nature volumétrique des textures basées sur le bruit vous permet simplement de les évaluer aux emplacements (x, y, z) de votre pixel shader. De cette façon, vous découpez efficacement votre texture dans un matériau solide, ce qui est souvent beaucoup plus simple que d'essayer d'élaborer un mappage paramétrique raisonnable sans distorsion.
Ces types de textures procédurales volumétriques basées sur le bruit sont depuis longtemps les piliers des longs métrages, où les shaders ne nécessitent pas de performances en temps réel ... tous les films à effets spéciaux utilisent aujourd'hui massivement les shaders procéduraux basés sur le bruit ... sur l'utilisation extensive de la fonction de bruit dans les pixel shaders écrits dans des langages tels que Pixar's RenderMan. Avec une bonne implémentation de la fonction de bruit disponible pour une utilisation en temps réel dans les GPU, j'ai hâte de voir certaines des idées visuelles passionnantes des longs métrages incorporées dans la prochaine génération de divertissement interactif sur le bureau et la console.
http://http.developer.nvidia.com/GPUGems/gpugems_ch05.html