Anwenden der korrekten Lichtphysik auf Gaußsche Unschärfeformeln für das Leuchten

9

Ich versuche, einen Glow-Shader mit trennbarer Gaußscher Unschärfe zu erstellen.

Ich wurde kürzlich von dem kurzen Youtube-Video "Computerfarbe ist kaputt" inspiriert und ich habe es mit Farbinterpolation durcheinander gebracht und Junge, sein Vorschlag ist wunderschön!

Eine große Sache, über die das Video spricht, ist, dass dieses Prinzip auf Unschärfe angewendet werden sollte, aber ich bin ziemlich verwirrt. Ich weiß nicht genau, was wann und was zu quadrieren ist, wenn Werte hinzugefügt werden. Meine derzeitige Theorie ist, dass jede Texturprobe für die Gaußsche Unschärfe durch die Potenz von zwei mit einer Glockenkurve gewichteten und wie üblich zu einer Summe addiert wird. Am Ende ist die Summe quadratisch, aber ich bin mir nicht sicher, ob das richtig ist. Könnte jemand bitte bestätigen? Würde dies einen spürbaren Unterschied machen, der die Dinge wert machte?

J.Doe
quelle
Nein, die Leistung beträgt normalerweise 2,2 (lesen Sie über Gammakorrektur )
joojaa
Warten Sie also, addieren Sie die Summe Ihrer Pixel, wobei jedes Pixel auf die Potenz 2,2 angehoben wird. Und dann diese Summe durch die 1 / 2,2-Potenz nehmen?
J.Doe
Abhängig davon, wie pedantisch Sie sein möchten, ist eine Gammakorrektur von 2,2 sicherlich nahe an srgb, aber wenn Sie wirklich pedantisch korrekt sein möchten, google dor linear zu srgb
joojaa

Antworten:

7

Ja, deine Theorie ist richtig. Bei einer gammakorrekten Unschärfe werden die Eingabepixel in einen linearen Farbraum konvertiert, die Weichzeichnungsgewichtung und -akkumulation in diesem Raum durchgeführt und am Ende wieder in den Gammaraum konvertiert.

CsrgbClinear

Übrigens finden Elle Stone auf dieser Seite einige visuelle Vergleiche von Gammakorrekten und Gammakorrekten Unschärfen , die zeigen, warum das Ganze wichtig ist.

Nathan Reed
quelle