Seite 1 von 1

HDR Verständnisfrage

Verfasst: 14.10.2015, 14:06
von Zudomon
Und zwar verstehe ich das noch nicht ganz mit der Helligkeit.
Ich wollte, damit die Nacht glaubwürdiger erscheint, dunkle Werte eingrauen. Das Problem dabei ist, dass dann auch der Sternennebel nicht mehr so schön wirkt, weil dieser schnell ins graue übergeht:

Grau:
20151014_2.jpg
Bunt:
20151014_3.jpg
Also müsste man die Nebel an sich also heller machen (die Bandings entstehen hier, weil die Textur 8 Bit und es darin sogar noch relativ dunkel ist, also nicht dran stören).
Das Problem ist allerdings dann, dass diese viel zu stark leuchten, schließlich sollen sie nur ein wenig leuchten... aber eben bunt. Habe ich da einen Denkfehler? Irgendwie komme ich nicht zu dem gewünschten Ergebnis.

Nebel statt mit 50, mit 1000 multipliziert:
20151014_4.jpg

Re: HDR Verständnisfrage

Verfasst: 14.10.2015, 14:16
von Krishty
Nee, das Problem habe ich auch: http://zfx.info/viewtopic.php?f=11&t=8#p6906

Einzige Lösung (ohne Wahrnehmungspsychologie im Computer zu simulieren) ist, den Übergang zwischen photopischem und skotopischem Sehen so weich wie möglich zu gestalten.

Es könnte z.B. etwas bringen, in HSV statt RGB zu rechnen, aber ich bin noch nicht dazu gekommen, das auszuprobieren.

P.S.: Vielleicht solltest du erst blaue Farben erkennbar zu machen und rote später (weil das Nachtsehen blauempfindlich ist), dann könnte es ein winziges Bisschen natürlicher aussehen.

Re: HDR Verständnisfrage

Verfasst: 14.10.2015, 14:25
von Zudomon
Ah okay!

Wenn dem so ist, wäre es doch auch in Ordnung, wenn man da trickst und z.B. den Himmel ausmaskiert, oder? Wollte eigentlich solche Tricksereien vermeiden. Aber ich finde es einfach schade wenn man dadurch die "Schönheit" des Nachthimmels verliert.

Re: HDR Verständnisfrage

Verfasst: 14.10.2015, 15:07
von Schrompf
Ich halte das eher für realistisch. Wenn Du eine zahlenmäßig halbwegs realistische Ausgrauung in Deinem HDR implementiert hast, *ist* der Nachthimmel halt größtenteils grau. Leuchtend bunte Nebel gibt's leider nur in Filmen.

Wobei ich ehrlich anmerken muss: im Astronomie-Unterricht gab es damals Leute, die in hellen Sternen Farben gesehen haben. Für mich waren alle Sterne nur weiß. Diese Grau-Schwelle ist wahrscheinlich auch von Mensch zu Mensch unterschiedlich.

Re: HDR Verständnisfrage

Verfasst: 14.10.2015, 15:43
von Zudomon
Also ich hab auch das Gefühl, dass Sterne bunt schimmern :D
Vielleicht weil das hellere Sternenlicht immer einen Zapfen/Stäbchen (also eins davon, dass was für Farbe zuständig ist) trifft.

Re: HDR Verständnisfrage

Verfasst: 14.10.2015, 17:54
von CodingCat
Wie sieht denn dein Tonemapping aus? Da gibt es ja 100 Varianten, die genau solche Probleme adressieren.

Re: HDR Verständnisfrage

Verfasst: 14.10.2015, 21:16
von Zudomon
Also ich verwende das hier, keine Ahnung wie das heißt, oder wo ich das mal her hatte...
Da ist auch das "Eingrauen" mit drin.
Am Ende muss ich das noch Gammern, sonst sieht es falsch aus. Und damit es dann nicht so ganz blass aussieht ist dieser Wert noch etwas angepasst.

Code: Alles auswählen

  void tonemap(inout float3 col, float key)
  {
    float l = dot(float3(0.27, 0.67, 0.06), col.rgb);   

    float s = pow(inlrp(0.04,0.004,l), 4);

    col.rgb = lerp(col.rgb, l, s*0.7);    


    col.rgb *= (1-exp(-l * key)) / l;     

    col.rgb = pow(col.rgb, 0.54); // 1/2.2 = 0.4545
  }

Re: HDR Verständnisfrage

Verfasst: 19.10.2015, 20:18
von Jonathan
Zudomon hat geschrieben:Also ich hab auch das Gefühl, dass Sterne bunt schimmern :D
Vielleicht weil das hellere Sternenlicht immer einen Zapfen/Stäbchen (also eins davon, dass was für Farbe zuständig ist) trifft.
Warum Sterne regenbogenfarben sind (der Anfang erklärt, warum sie aussehen, wie Sterne):
https://youtu.be/VVAKFJ8VVp4?t=158

Re: HDR Verständnisfrage

Verfasst: 11.01.2017, 03:16
von Zudomon
Ich habe nun eingebaut, dass der Tonemappingkey aus der Bildhelligkeit genommen wird. Nun sind dadurch Tag/Nacht Übergänge wesentlich besser, allerdings stehe ich nun vor dem nächsten Problem.
Was ich möchte:
Tagsüber bei Sonnenschein den Planeten (am Himmel) leicht sichtbar haben, wie man es in der echten Welt vom Mond her kennt. Das Problem ist, wenn der Planet so hell ist, dass er Tagsüber leicht sichtbar ist, dann ist er Nachts gnadenlos übersteuert. Ich kann mir das nur so erklären, dass die Leuchtfläche eben viel größer ist, wie bei dem Mond und er deswegen so viel Licht ausstrahlt.

Wie bekomme ich den Planeten Nachts dunkler ohne das explizit einzubauen? Oder ist meine "Nacht" zu dunkel?
20170111_2.jpg
20170111_1.jpg
EDIT: Was mir noch einfällt... momentan wird die gemittelte Helligkeit aus dem ganzen Bild genommen... das ist wahrscheinlich nicht die beste Lösung...

Re: HDR Verständnisfrage

Verfasst: 11.01.2017, 11:05
von Krishty
Falls es dir hilft: Der Mond hat IIRC eine Leuchtdichte von ~100 cd/m²; der Sternenhimmel 0,1–0,001; der Mittagshimmel ~1000–10000.

Könnte danebenliegen weil ich die Quellen gerade nicht finde, aber in der Größenordnung war’s.

Re: HDR Verständnisfrage

Verfasst: 11.01.2017, 11:15
von Schrompf
Das sieht doch ziemlich geil aus, finde ich. Das einzig Seltsame ist vielleicht, dass eine so knackehelle Fläche am Himmel auch ein bisschen gelbes Licht auf die Landschaft werfen müsste. Ansonsten finde ich das aber nicht unplausibel - in Vollmondnächten wirft das Licht vom Mond ja sogar erkennbare Schatten.

Re: HDR Verständnisfrage

Verfasst: 11.01.2017, 11:36
von Zudomon
@Krishty
Zumindst um eine Vorstellung davon zu haben, wie es in Wirklichkeit ist. Aber letztendlich schiebe ich bis es passt... :D

@Schrompf
Danke. Der Planet wirft sogar Licht auf die Welt... sogar automatisch, weil die Reflektionmap ja auch zur Beleuchtung herangezogen wird. Aber leider sieht das ganze nicht so wirklich schön aus. Ich glaube, das liegt vor allem am fehlenden Schatten, aber auch, dass das SSS nicht für Licht aus der Reflektionmap angewendet wird. Man sieht das auf dem Screen nicht, weil es durch den Tonemapkey so abgedunkelt ist. Aber schaut man in die Nacht hinaus, sieht es etwa so aus, wenn der Planet am Himmel steht:
20170111_3.jpg
Ich bin mir mittlerweile auch ziemlich sicher, dass mein Problem daher rührt, dass ich für den TonemapKey einfach den Mittelwert der Helligkeit des Bildes nehme. Vielleicht sollte man da eher ein bisschen bluren und dann die Maximalhelligkeit nehmen. Ich glaube, bei der HL2 Engine wurde damals über ein Histogramm usw. gearbeitet. Das war mal in deren HDR Slides.

Das Bloom ist auch eher billig gelöst bisher... wenn ich wüsste, dass es nicht allzuschwierig umzusetzen wäre, dann würde ich ja gerne das Paper, was Krishty für die Sterne für das Augscattering genutzt hat, umsetzen. Aber ich tu mich sehr schwer mit Spektralzeugs... FFT und IFFT hab ich nur mal angewendet und glaube, das war auch nicht ganz korrekt damals. Auf Bilder hat ich das noch nie verwendet, da fehlt mir ehrlich gesagt noch einiges an Verständnis.