Je me souviens il y a quelque temps que les textures générées de manière procédurale devenaient un gros problème qui intéressait beaucoup de personnes / entreprises avec de sérieux avantages (déploiements plus petits, chargement potentiellement plus rapide, qualité supérieure, textures évolutives, potentiellement moins chères à produire, etc.). ).
D'après ce que je peux dire, le buzz est mort et aucun jeu sur mon radar ne les utilise. Qu'est-il arrivé?
J'espérais voir des textures procédurales comme les trucs de NaturalMotion (adoption lente mais régulière).
la source
La perte de contrôle artistique et l'augmentation de la taille des options de stockage en font une vente difficile. Cela, en plus, vous devrez recycler des artistes, pendant que vous les embauchez pour ce qu'ils étaient bons en texturation traditionnelle. À moins que la taille ou la texturation unique ne soit vraiment un problème, il y a peu de désir général de suivre la voie procédurale.
la source
Fondamentalement, les gros canons ne le supportent pas, donc il n'est pas beaucoup utilisé. Il y a eu des choses sympas (quoique un peu anciennes), comme .kkrieger mais le temps de chargement là-dessus (dans la journée) était vraiment lent, car il devait générer toutes les textures au moment du chargement.
Nous pourrions voir quelque chose ou autre dans les moteurs de prochaine génération (Unreal 4, etc.), mais je ne pense pas que le gain par rapport au développement soit suffisamment important.
Il existe des exemples dans le monde AAA, par exemple Spore a généré des textures et des animations générées de manière procédurale pour les créatures que vous avez créées.
la source
La texture procédurale souffre du problème qu'un directeur artistique ne peut pas pointer de manière fiable sur le travail d'un artiste et dire "s'il vous plaît, rendez cette partie un peu plus X". car le système d'ombrage procédural peut ne pas prendre en charge X à moindre coût ou pas du tout.
Par exemple, un shader de brique peut prendre en charge une brique marron propre, mais pas une brique peinte avec une publicité il y a 80 ans et un graffiti il y a 10 ans. Ou il peut ne pas supporter d'avoir une brique violette sur 1000 briques brunes. Exactement à cet endroit, car cet endroit fait appel au goût du directeur artistique.
Une vraie texture peut bien sûr supporter toutes ces choses, et dans ce sens une vraie texture est supérieure à une texture procédurale.
La texture procédurale exerce un contrôle artistique en raison de sa préférence pour certains cas d'utilisation par rapport à d'autres. Une vraie texture exerce peu de contrôle.
Le matériel GPU, cependant, a une forte préférence pour le procéduralisme, car la mémoire de texture est tellement éloignée des unités ALU qui font l'ombrage.
la source
Eh bien, cela semble toujours être une excellente idée spécialement pour les jeux. Étant donné que vous pouvez générer des textures à la volée de manière procédurale afin que le monde autour du joueur soit plus naturel. Aucun big data n'est nécessaire. Il peut être utilisé pour augmenter même la résolution
la source
Vous avez le compromis typique de mémoire de temps . Eh bien, que cela vous plaise ou non, la génération procédurale échange le temps CPU pour la conservation de la mémoire. En fait, comme le stockage devient moins cher et que les gens veulent toujours des temps de chargement plus courts, la tendance est à l'inverse - les actifs prégénérés ou photographiés consomment de la mémoire en échange de la vitesse.
Un jpg se charge-t-il plus rapidement qu'une version générée de manière procédurale? Probablement, oui . Si le jpg est de 2 Mo et que vous le chargez une fois, pourquoi devriez-vous vous soucier de la procédure? Au moment de l'exécution, la texture prend quand même la même quantité de RAM (non compressée et chargée dans la mémoire GPU)
la source