Comment créez-vous le contenu HDR?

33

Comment aidez-vous vos artistes à créer du contenu pour un rendu HDR ? Quels types d'outils devriez-vous fournir et quels flux de travail doivent être modifiés pour passer du LDR au HDR?

Notez que je ne pose pas de questions sur les aspects techniques de la mise en œuvre d'un moteur de rendu HDR, mais sur les meilleures pratiques en matière de création de matériaux et d'éclairage en HDR. J'ai un peu cherché sur Google, mais il ne semble pas y avoir grand chose à propos de ce sujet sur le Web. Quelqu'un peut-il m'indiquer de bonnes ressources à ce sujet ou partager leurs propres expériences?

Quelques points spécifiques:

  • Éclairage - Comment les artistes en éclairage peuvent-ils choisir les couleurs de lumière HDR? Ont-ils un sélecteur de couleur LDR standard, puis un multiplicateur? Le multiplicateur est-il dans un espace gamma ou linéaire? Peut-être qu'au lieu d'un multiplicateur, c'est une log-luminance? Ou un niveau de luminosité physique, comme le nombre de lumens? Comment sauront-ils quel multiplicateur / luminance / luminosité est "correct" pour une lumière donnée?
  • Matériaux - Comment les artistes de texture peuvent-ils créer des cartes de couleurs émissives, telles que des enseignes au néon, des écrans de télévision, des skybox, etc.? Pouvez-vous en peindre une comme une image LDR normale (8 bits par canal) et appliquer un multiplicateur (ou log-luminance, etc.)? Existe-t-il des cas dans lesquels il est nécessaire de peindre des images HDR? Si oui, comment vous y prenez-vous dans Photoshop (ou un autre logiciel)?
Nathan Reed
la source
3
Cela pourrait être utile: developer.valvesoftware.com/wiki/HDR_Skybox_Creation
Tetrad
1
@Aralox, je n'ai rien appris sur la façon dont les autres équipes / sociétés font cela. Nous travaillons sur ce sujet dans mon entreprise, mais je ne peux pas (publiquement) révéler quoi que ce soit à ce sujet. J'espère toutefois pouvoir parler de notre flux de travail!
Nathan Reed
1
J'aimerais vraiment voir ce que les gens ont à dire sur la création de contenu HDR sans utiliser de sources photo.
1
Rappelez-vous qu’il s’agit d’une histoire ancienne, mais oui, les lumières à l’extérieur étaient littéralement beaucoup plus lumineuses que celles de la grotte et le moteur de rendu devait s’adapter. Des volumes ont été utilisés pour les contrôles d’ambiance et de tonalité. L’idée était qu’une roche ne devienne pas elle-même HDR, c’est juste une roche et que la lumière la frappant est ce qui la rend vraiment claire ou sombre par rapport à ce que le rendu considère comme une exposition grise. Je suis sûr que vous avez déjà vu le début du HDR, où "l'exposition" continue de s'adapter à la position du lecteur; une mode du temps.
Patrick Hughes
2
I have a photography background, just an instinctive call that "outside" is maybe 4-5 f-stops brighter than "inside" a moderately lit cave entrance.
Patrick Hughes

Réponses:

5

I think we're still somehow in the "caveman days" Patrick Hugues describes in his comments.

Vous ne voulez pas de détails sur les implémentations de rendu, mais laissez-moi quand même clarifier un peu les choses: vous comprendrez pourquoi. Le HDR dans les moteurs de jeu consiste principalement à avoir des valeurs "plus larges" pour la sortie du rendu (le framebuffer). En virgule flottante de 16 bits pouvant aller au-dessus de 1,0, au lieu d’entiers de 8 bits donnant simplement 256 valeurs comprises dans la plage [0,1]. Cette sortie est ensuite convertie en LDR à l'aide d'un mappeur de tonalités afin que l'écran puisse l'afficher. Pour moi, la véritable "création HDR" consisterait à peaufiner ce mappeur de sons, de sorte que vous souhaitiez donner autant de contrôle que possible à vos artistes. Il y aura une sorte de shader impliqué, donc vous avez soit des artistes techniques qui peuvent le gérer, soit vous le codez en dur et vous exposez les paramètres les plus utiles.

Je ne suis pas sûr que vous ayez nécessairement besoin de lumières 16 bits, sauf peut-être pour créer des lumières qui émettent "plus blanc que blanc". Mais si vous le souhaitez, quel que soit l'éditeur que vous utilisez pour vos éclairages, vous aurez besoin d'une sorte de sélecteur de couleur ou d'un groupe de curseurs qui vous donneront ces valeurs à virgule flottante. Oh, si vous voulez une interface graphique, vous commencerez probablement par des valeurs à virgule flottante en texte brut dans un fichier.

HDR textures (16 bits per channel) exist but aren't widely used, maybe just because that would take so much more memory than regular LDR textures (8 bits per channel). I also suspect more hardware limitations on current-gen consoles, so most of the big game engines around don't push this too much. For instancce, it seems that it's a bit tricky to import a HDR texture for use with the UDK. Nevertheless, to author 16 bits textures you'll need software that supports it, such as Photoshop. There are probably others, but it doesn't seem that frequent, e.g. it's it was a long-standing request for GIMP that's still pending. You'll also have to use a 16 bits aware image format, such as PNG.

Laurent Couvidou
la source
1
Je viens de vérifier comment les lumières sont éditées dans l'UDK. Il semble qu’ils utilisent un sélecteur de couleur RVB classique avec des valeurs de couleur 8 bits, avec un facteur de «luminosité» supplémentaire pouvant aller au-delà de 1,0 et redimensionnant les trois couleurs en même temps.
Laurent Couvidou
1

comme lorancou a dit, vous n’êtes pas vraiment auteur contenu hdr car il est généralement dynamique à la quantité de lumière. Mais, vous pourriez probablement l'imiter dans une lightmap qui impliquerait simplement de modifier les shaders de précalcul pour prendre cela en compte.

CobaltHex
la source
1

Trois ans plus tard, je viens d'écrire un article sur la création de contenu HDR . Je peux donc maintenant répondre à ma propre question. :)

Résumer,

  • L'utilisation d'une échelle logarithmique est un bon moyen de gérer la large gamme de valeurs de luminosité HDR. Les photographes ont une telle échelle qu'ils utilisent depuis des décennies, appelée valeur d'exposition ou EV.
  • Utiliser EV dans votre moteur / vos outils est pratique, car les valeurs mesurées dans la vie réelle avec un indicateur de spot du photographe peuvent être utilisées comme données de référence pour la configuration de l'éclairage de jeu. Photoshop utilise également EV (bien qu'il ne l'appelle pas ainsi) en mode 32 bits.
  • Les sélecteurs de couleurs pour les sources lumineuses, les matériaux émissifs, etc. peuvent associer les composants RVB LDR habituels à un composant EV qui adapte leur luminosité HDR globale. C'est pratique pour éviter de changer accidentellement de couleur lorsque vous ne souhaitez modifier que la luminosité, ou inversement.
  • Il est pas nécessaire d'avoir des textures HDR pour la diffuse habituelle et des cartes spéculaires, mais il est utile pour les textures émissifs. La compression BC6 est nécessaire ici, car les textures BC1 affichent des bandes et des artefacts épouvantables si elles sont agrandies à une luminosité élevée (par exemple, pour les enseignes au néon).
  • Il n'est généralement pas nécessaire de peindre des textures émissives en virgule flottante. Le mode Photoshop 16 bits (point fixe) suffira probablement pour les textures émissives. Toutefois, le mode Photoshop 32 bits offre une excellente prise en charge de l'édition d'images en virgule flottante si nécessaire.
Nathan Reed
la source