Próbuję zrobić shadery jarzeniowe, używając rozmywalnego gaussowskiego rozmycia.
Niedawno zainspirował mnie krótki film na youtube „Kolor komputera jest zepsuty” i pomieszałem go z interpolacją kolorów, a chłopcze jego sugestia jest piękna!
Dużą rzeczą, o której mówi wideo, jest to, że zasadę tę należy zastosować do rozmycia, jednak jestem dość zdezorientowany. Naprawdę nie wiem, co obliczyć, kiedy i co obliczyć, kiedy wartości są dodawane. Moja obecna teoria mówi, że każda próbka tekstury rozmycia gaussowskiego jest podnoszona przez moc dwóch ważonych krzywą dzwonową i dodawana do sumy jak zwykle. Na koniec suma jest pierwiastkiem kwadratowym, ale nie jestem pewien, czy to prawda. Czy ktoś mógłby potwierdzić? Czy miałoby to znaczącą różnicę, która sprawiłaby, że było warto?
źródło
Odpowiedzi:
Tak, twoja teoria jest poprawna. Rozmycie z korekcją gamma polega na przekształceniu pikseli wejściowych w liniową przestrzeń kolorów, wykonaniu ważenia rozmycia i akumulacji w tej przestrzeni, a następnie konwersji z powrotem na przestrzeń gamma na końcu.
Jak zauważono w komentarzach, rzeczywista transformacja nie jest dosłownie kwadratem i zakorzenieniem w kwadrat, to tylko przybliżenie (i nie tak dobre z jednego). Aby zobaczyć prawdziwą transformację sRGB gamma, zobacz równania w tym artykule w Wikipedii (spójrz w dół strony na równania obejmujące i ).Csrgb Clinear
Nawiasem mówiąc, niektóre wizualne porównania rozmycia poprawnego i niepoprawnego gamma można znaleźć na tej stronie przez Elle Stone , co pokazuje, dlaczego to wszystko ma znaczenie.
źródło