Come si creano contenuti HDR?


33

In che modo è facile per i tuoi artisti creare contenuti per un renderer HDR ? Quali tipi di strumenti dovresti fornire e quali flussi di lavoro devono cambiare, passando da LDR a HDR?

Si noti che non sto chiedendo degli aspetti tecnici dell'implementazione di un renderer HDR, ma delle migliori pratiche per la creazione di materiali e illuminazione in HDR. Ho cercato su Google un po ', ma non sembra esserci molto su questo argomento sul web. Qualcuno può indicarmi alcune buone risorse su questo o condividere le proprie esperienze?

Alcuni punti specifici:

  • Illuminazione: come possono gli artisti dell'illuminazione scegliere i colori chiari dell'HDR? Hanno un selettore di colori LDR standard e quindi un moltiplicatore? Il moltiplicatore è nello spazio gamma o lineare? Forse invece di un moltiplicatore è un log-luminanza? O un livello di luminosità fisica, come il numero di lumen? Come potranno sapere quale moltiplicatore / luminanza / luminosità è "corretto" per una data luce?
  • Materiali: in che modo gli artisti delle trame possono creare emissive mappe a colori, come insegne al neon, schermi TV, skybox, ecc.? Riesci a dipingerne una come normale immagine LDR (8 bit per canale) e applicare un moltiplicatore (o log-luminanza, ecc.)? Ci sono casi in cui è necessario effettivamente dipingere immagini HDR? In tal caso, come procedete in Photoshop (o in altri software)?


1
@Aralox, non ho scoperto nulla su come altri team / aziende lo fanno. Abbiamo lavorato su questo argomento presso la mia azienda, ma non posso nemmeno rivelare pubblicamente nulla al riguardo (ancora). Spero di poter finalmente parlare del nostro flusso di lavoro!
Nathan Reed,

1
Mi piacerebbe davvero vedere cosa hanno da dire le persone sull'autore di contenuti HDR senza utilizzare fonti di foto.

1
Ricorda che questa è storia antica, ma sì, le luci all'esterno erano letteralmente molto più luminose di quelle nella caverna e il motore di rendering doveva farcela. I volumi sono stati utilizzati per i controlli di ambiente e tono. L'idea era che una roccia non diventa di per sé HDR, è solo una roccia e la luce che la colpisce è ciò che la rende davvero luminosa o scura rispetto a ciò che il rendering pensa sia un'esposizione grigia. Sono sicuro che hai visto i primi HDR in cui "l'esposizione" continua ad adattarsi a dove si trova il giocatore; una moda del tempo.
Patrick Hughes,

2
Ho uno sfondo fotografico, solo un istintivo richiamo che "fuori" è forse 4-5 f-stop più luminoso di "dentro" un'entrata della caverna moderatamente illuminata.
Patrick Hughes,

Risposte:


5

Penso che siamo ancora in qualche modo ai "giorni delle caverne" descritti da Patrick Hugues nei suoi commenti.

Non vuoi dettagli sulle implementazioni del renderer, ma lasciami chiarire un po 'le cose comunque: capirai perché. L'HDR nei motori di gioco riguarda principalmente valori "più ampi" per l'output di rendering (framebuffer). Tipicamente a 16 bit in virgola mobile che può andare al di sopra di 1,0, invece di interi a 8 bit che ci danno solo 256 valori nell'intervallo [0,1]. Questa uscita viene quindi convertita in LDR utilizzando un mappatore di toni , in modo che lo schermo possa visualizzarla. Per me, il vero "authoring HDR" sarebbe nel modificare questo mappatore di toni, quindi ti consigliamo di dare il massimo controllo possibile ai tuoi artisti su questo. Ci sarà una sorta di shader coinvolto, quindi o hai artisti tecnici che possono affrontarlo, o lo decodifichi ed esponi i parametri più utili.

Non sono sicuro che avrai necessariamente bisogno di luci a 16 bit, tranne forse per creare luci che emettono "più bianco del bianco". Ma se vuoi, in qualunque editor utilizzi per le tue luci, avrai bisogno di una sorta di selettore di colori o di un gruppo di cursori che ti dia quei valori in virgola mobile. Oh, questo è se vuoi una GUI, probabilmente inizierai con valori in virgola mobile in testo semplice in un file.

Le trame HDR (16 bit per canale) esistono ma non sono ampiamente utilizzate, forse solo perché ciò richiederebbe molta più memoria delle normali trame LDR (8 bit per canale). Ho anche il sospetto che più limiti hardware sulle console attuali, quindi la maggior parte dei grandi motori di gioco non spingono troppo. Ad esempio, sembra che sia un po 'complicato importare una trama HDR da usare con l'UDK . Tuttavia, per creare trame a 16 bit è necessario un software che lo supporti, come Photoshop . Probabilmente ce ne sono altri, ma non sembra così frequente, ad essuoera una richiesta di vecchia data per GIMP è ancora in sospeso. Dovrai anche utilizzare un formato immagine a 16 bit, come PNG.


1
Ho appena controllato come vengono modificate le luci all'interno dell'UDK. Sembra che utilizzino un classico selettore di colori RGB con valori di colore a 8 bit, con un fattore di "luminosità" aggiunto che può andare oltre 1,0 e ridimensionare tutti e tre i colori contemporaneamente.
Laurent Couvidou,

1

come ha detto lorancou, non si crea veramente contenuto hdr poiché generalmente dinamico rispetto alla quantità di luce. Ma potresti probabilmente imitarlo in una mappa luminosa che implicherebbe solo la modifica di eventuali shader di precalcolo per tenerne conto.


1

Bene, tre anni dopo e ho appena scritto un post sul blog sulla creazione di contenuti HDR , quindi ora posso rispondere alla mia domanda. :)

Riassumere,

  • Un buon modo per gestire l'ampia gamma di valori di luminosità dell'HDR consiste nell'utilizzare una scala logaritmica. I fotografi hanno una scala tale che usano da decenni, chiamati valore di esposizione o EV.
  • Usare l'EV nel tuo motore / strumenti è utile poiché i valori misurati nella vita reale con lo spot meter di un fotografo possono essere utilizzati come dati di riferimento per l'impostazione dell'illuminazione di gioco. Photoshop usa anche EV (anche se non lo chiama così) nella sua modalità a 32 bit.
  • I selettori di colore per sorgenti luminose, materiali emissivi e così via possono avere i soliti componenti RGB LDR combinati con un componente EV che ridimensiona la luminosità complessiva HDR. Questo è utile per evitare che il colore cambi accidentalmente quando si desidera modificare la luminosità o viceversa.
  • Non è necessario disporre di trame HDR per le solite mappe diffuse e speculari, ma è utile per trame emissive. La compressione BC6 è necessaria qui, perché le trame BC1 mostrano orribili bande e artefatti se sono ridimensionati ad un'alta luminosità (ad esempio per le insegne al neon).
  • Di solito non è necessario effettivamente dipingere trame emissive in virgola mobile. La modalità Photoshop a 16 bit (che è a virgola fissa) sarà probabilmente sufficiente per le trame emissive. Tuttavia, la modalità Photoshop a 32 bit fornisce un supporto di modifica delle immagini in virgola mobile piuttosto buono, se necessario.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.