Gamma / Linear Light Pipeline Michał Drobot Technical Art Director Reality Pump.

Slides:



Advertisements
Podobne prezentacje
Australia.
Advertisements

Przygotował: Adrian Walkowiak
Czyli jak zrobić prezentację komputerową?
Zastosowanie osi symetrii i wielokątów w przyrodzie
FIZYKA na służbie b’Rowersa ...krótki kurs.
funkcja przyjmuje wartości dodatnie, a dla jakich ujemne?
FUNKCJA L I N I O W A Autorzy: Jolanta Kaczka Magdalena Wierdak
ZESPÓŁ SZKÓŁ OGÓLNOKSZTAŁCACYCH NR 11 W SOSNOWCU PODSUMOWANIE ANKIETY DLA RODZICÓW.
Irina Svichenyuk Valeria Poligova Skąd biorą się motywy dla podróży? Skąd biorą się motywy dla podróży? Każdy człowiek ma jakieś własne potrzeby. To.
Prąd Elektryczny.
Zastanówmy Się…...
Lekcja nr 1 Temat: Lekcja organizacyjna. Bhp w pracowni komputerowej i przy pracy z komputerem.
Autorzy: Agnieszka Kuraj Natalia Gałuszka Kl. III c.
To jest bardzo proste  Lekcja nr 3
POPYT I PODAŻ.
WNIOSKI Z PRZEPROWADZONEJ ANKIETY NA TEMAT SAMORZĄDU UCZNIOWSKIEGO ORAZ GAZETKI SZKOLNEJ „KUJONEK”
Debata- samorządność.. Samorząd Uczniowski to działająca w szkole instytucja, obejmująca całą społeczność uczniowską, niezależna od administracji oświatowej.
Punkt wymiany sprawnego, ale niepotrzebnego sprzętu RTV/AGD oraz wolontariat na terenie gminy Stare Babice. Koczargi Stare, r., Katarzyna Skibińska,
Wolontariat w BACZYŃSKIM.
Młodzież a wolontariat.. Opracowanie: Judyta Szłapa Urszula Buczek.
Pomoc słabszym w nauce Sprzątanie pobliskiego terenu Pomoc starszym.
Przeglądanie inOrder function BSTinorder(BSTNode root) if root NOT NULL BSTinorder(root.left) Print(root) BSTinorder(root.right) 2, 4, 6, 8, 9, 10, 12,
Prezentacja z przedmiotu „systemy wizyjne”
Podstawy programowania
fotografie - Marcel Cohen
Energia atomowa.
Nieformalne miejsca spotkań. ANKIETY Przeprowadziliśmy wśród uczniów gimnazjum ankietę na temat nieformalnych miejsc spotkań. Przedstawimy przykładowe.
Ach te baby... Ach te baby....
Uwaga !!! Uczniowie SP 32 w Toruniu ! Zapraszamy was i Wasze rodziny do wzięcia udziału w Festynie Zdrowia, który odbędzie się 31 maja 2013 roku podczas.
W jaki sposób uczniowie ZSE mogą działać na rzecz ekorozwoju lokalnego?
ALGORYTM.
Antonie de Saint-Exupery
Jeżdżę z głową.
Powrót do sukcesu Analiza przypadku Princessy (rola badań marketingowych podczas rozwoju produktu: ) Powrót do sukcesu Analiza przypadku Princessy.
xHTML jako rozszerzenie HTML
HTML Podstawy języka hipertekstowego Damian Urbańczyk.
Dual Paraboloid Mapping Michał Drobot Technical Art Director Reality Pump.
Optimization Michał Drobot Technical Art Director Reality Pump.
Jan Paweł II orędownik prawdy
Optyka Widmo Światła Białego Dyfrakcja i Interferencja
T58 Zasady dynamiki 2x45 wykład 2x45 ćwiczenia. I zasada dynamiki I zasada dynamiki może być (jest) formułowana na kilka sposobów. Najczęściej ma ona.
T44 Przepisy bhp podczas wytwarzania części maszyn.
Inteligentne oświetlenie Systemy z automatyczną regulacją poziomu natężenia oświetlenia i detekcją obecności.
Jak się uchronić przed zagrożeniami wynikającymi z użytkowania sieci?
SZKO Ł A PODSTAWOWA IM. JANA PAW Ł A II W BIELINACH.
SKALA MAPY Skala – stosunek odległości na mapie do odpowiadającej jej odległości w terenie. Skala najczęściej wyrażona jest w postaci ułamka 1:S, np. 1:10.
Sieci komputerowe. Nowe technologie komputerowe
Ewa Amghar, Barbara Bułat BIBLIOTEKARZ – ZAWÓD Z PRZYPADKU, Z PRZYMUSU CZY Z MARZEŃ? MOTYWY WYBORU ZAWODU PRZEZ PRACOWNIKÓW BIBLIOTEKI JAGIELLOŃSKIEJ.
To śmieszne...
WYNIKI ANKIETY GUMOWY SUROWIEC. PYTANIE 1. Rodzaj gospodarstwa domowego, które reprezentujesz. 13 osób reprezentuje gospodarstwo wiejskie (A) 61 miejskie.
Pliki elementowe – A. Jędryczkowski © 2007 Turbo Pascal umożliwia wykorzystanie w programach plików elementowych. Pliki takie zawierają informację zakodowaną
To popularny portal internetowe. Pisząc blog informujemy internautów o swoich zainteresowaniach np. o modzie lub gotowaniu. Niestety czasem zapominamy.
Weronika Schneider. Na fotografiach widać obecne budynki Polpharmy.
Szymon Murawski, 4 rok nanotechnologii1 Misja kosmiczna GAIA Czyli cały wszechświat w twoim domu.
ZŁUDZENIA OPTYCZNE Większe, mniejsze? Jest czy nie ma? Wygięte! ..?
Psychologia w sprzedaży. Co wpływa na decyzje klienta? Załącznik do videocastu nr 2 Agata Matuszewska.
Skala i plan mgr Janusz Trzepizur.
Temat 6: Elementy podstawowe
Matmatura 2013; 2014; 2015; 2016; 2017…. p. Katarzyna Misztal z uczniami klasy 2F: Monika Tobera Milena Ściana Radosław Stochmal KTO?
ZWIĄZKI ZAWODOWE PORZĄDEK W CHAOSIE. Związki zawodowe a WIEDZA WOLNOŚĆ WYMAGA WIEDZY BEZ PODDAŃSTWA BEZ UDAWANIA BEZ AROGANCJI BEZ BYCIA NIEŚMIAŁYM DLACZEGO.
Instrukcja switch switch (wyrażenie) { case wart_1 : { instr_1; break; } case wart_2 : { instr_2; break; } … case wart_n : { instr_n; break; } default.
Instrukcja switch switch (wyrażenie) { case wart_1 : { instr_1; break; } case wart_2 : { instr_2; break; } … case wart_n : { instr_n; break; } default.
Generowanie neutronów w liniowym akceleratorze elektronów
Rzeszów r.. Liczba osób badanych 3 Odpowiedzi badanych na temat stosowania krzyku przez rodziców 4.
Magic Janusz ROŻEJ Komtech Sp. z o.o.
w/g Grzegorz Gadomskiego
Największym bólem w życiu nie jest śmierć, lecz bycie ignorowanym.
10 róż dla ciebie.
Analiza procesów metodą siatki jakości, badanie satysfakcji klienta, doskonalenie z wykorzystaniem analizy ryzyka 24 kwietnia IV Konferencja Analizy.
BVMS 3.0 Moduł 13: Opcje zapisu iSCSI
Zapis prezentacji:

Gamma / Linear Light Pipeline Michał Drobot Technical Art Director Reality Pump

Problem gammy oraz wyświetlaniaProblem gammy oraz wyświetlania RozwiązanieRozwiązanie ZastosowanieZastosowanie Plan wykładu

Problem zapisywania obrazów i ich wyświetlaniaProblem zapisywania obrazów i ich wyświetlania Czy urządzenie do zapisu obrazu, zapisuje poprawnie wartości oświetlenia?Czy urządzenie do zapisu obrazu, zapisuje poprawnie wartości oświetlenia? Czy dwa razy więcej fotonów padających na matryce powoduje zapisanie dwa razy większej wartościCzy dwa razy więcej fotonów padających na matryce powoduje zapisanie dwa razy większej wartości Czy renderer tworzy poprawne pod względem oświetlenia dane?Czy renderer tworzy poprawne pod względem oświetlenia dane? Czy wyświetlacz przedstawia poprawnie dane?Czy wyświetlacz przedstawia poprawnie dane? Czy dwa razy jaśniejszy pixel jest przedstawiony jako rzeczywiście dwa razy jaśniejszy?Czy dwa razy jaśniejszy pixel jest przedstawiony jako rzeczywiście dwa razy jaśniejszy? Gamma

OdpowiedźOdpowiedź NIENIE Większość urządzeń zapisy i wyświetlania nie używa skali liniowejWiększość urządzeń zapisy i wyświetlania nie używa skali liniowej Renderer zależy od nasRenderer zależy od nas Gamma

Funkcja liniowaFunkcja liniowa F(x + y) = F(x) + F(y)F(x + y) = F(x) + F(y) F(kx) = k * F(x)F(kx) = k * F(x) Liniowość

Monitory, aparaty i skanery nie działają liniowoMonitory, aparaty i skanery nie działają liniowo Krzywa gammaKrzywa gamma Przeciętne wartości 2.0 – 2.4Przeciętne wartości 2.0 – 2.4 Każdy monitor ma własną krzywa gammaKażdy monitor ma własną krzywa gamma F(x) = x^2.2F(x) = x^2.2 Przyjęte przez format JPGPrzyjęte przez format JPG Gamma

Gamma

Pixel o połowie intensywności będzie wyświetlany z ¼ intensywnościPixel o połowie intensywności będzie wyświetlany z ¼ intensywności Sqrt(0.5) = 0.25Sqrt(0.5) = 0.25 Obliczenia światła powinny być proporcjonalnie powiązane z wartościami fizycznymiObliczenia światła powinny być proporcjonalnie powiązane z wartościami fizycznymi 2x więcej fotonów = 2x jaśniejszy pixel2x więcej fotonów = 2x jaśniejszy pixel Gamma

KonsekwencjeKonsekwencje Jak to działa

KonsekwencjeKonsekwencje Jak to działa

KonsekwencjeKonsekwencje Jak to działa 128

KonsekwencjeKonsekwencje Jak to działa

Textury wejścioweTextury wejściowe Przyjęto, że przeciętny użytkownik ma monitor o gammie 2.2Przyjęto, że przeciętny użytkownik ma monitor o gammie 2.2 Pliki graficzne w formatach kompresji są zapisywane z korektą gamma pow(1.0/2.2)Pliki graficzne w formatach kompresji są zapisywane z korektą gamma pow(1.0/2.2) Dowolny renderer przyjmujący dane wejściowe jako liniowe nie może normalnie traktować texturDowolny renderer przyjmujący dane wejściowe jako liniowe nie może normalnie traktować textur Konsekwencje

Dlaczego pracujemy w gammie?Dlaczego pracujemy w gammie? Konsekwencje

GammaGamma Daje więcej odcieni szarości niż przestrzeń liniowa dla tej samej ilości bitów (8 BIT)Daje więcej odcieni szarości niż przestrzeń liniowa dla tej samej ilości bitów (8 BIT) Ludzkie oko jest dużo bardziej wrażliwe na skale szarości niż na jasne tonyLudzkie oko jest dużo bardziej wrażliwe na skale szarości niż na jasne tony Oszczędność pamięciOszczędność pamięci Konsekwencje

GammaGamma Liniowa dla 8-bit = BANDINGLiniowa dla 8-bit = BANDING Konsekwencje

Liniowy zapisLiniowy zapis Brak bandingu w jasnych tonach, kosztem olbrzymiego w ciemnychBrak bandingu w jasnych tonach, kosztem olbrzymiego w ciemnych NieopłacalneNieopłacalne Konsekwencje

Liniowy zapis (0-255) vs GammaLiniowy zapis (0-255) vs Gamma 0 = 00 = 0 1 = 201 = 20 2 = 282 = 28 3 = 333 = 33 Konsekwencje

KonsekwencjeKonsekwencje Generowanie mipmapGenerowanie mipmap Podstawowa metodaPodstawowa metoda Weź 4 pixele z poziomu N+1Weź 4 pixele z poziomu N+1 Pixel N = avg(pix1,pix2,pix3,pix4)Pixel N = avg(pix1,pix2,pix3,pix4) Jeśli pixele to (1,1,0,0)Jeśli pixele to (1,1,0,0) Oczekujemy pixela o intensywności 0.5Oczekujemy pixela o intensywności 0.5 Zapisanie avg(1,1,0,0) = 0.5Zapisanie avg(1,1,0,0) = da nam pixel ¼ jasności zamiast da nam pixel ¼ jasności zamiast 0.5 Migotanie jasności detali wraz ze zmianą odległościMigotanie jasności detali wraz ze zmianą odległości Konsekwencje

KonsekwencjeKonsekwencje Filtrowanie mipmap / texturFiltrowanie mipmap / textur Operacja sprzętowaOperacja sprzętowa Działa liniowoDziała liniowo Przy źle wygenerowanych mipmapach prowadzi do jeszcze większych błedówPrzy źle wygenerowanych mipmapach prowadzi do jeszcze większych błedów Niestabilność obrazu przy filtrowaniuNiestabilność obrazu przy filtrowaniu Konsekwencje

KonsekwencjeKonsekwencje OświetlenieOświetlenie Model lamberta dot(N,L)Model lamberta dot(N,L) Działa liniowoDziała liniowo Wymaga korekcji przed wyświetleniemWymaga korekcji przed wyświetleniem Konsekwencje

F(x) = x^(1.0/2.2)F(x) = x^(1.0/2.2) Pipeline

F(x) = x^2.2F(x) = x^2.2 Pipeline

Pipeline Kamera konsumencka Prawdziwe światło 1/

RozwiązanieRozwiązanie (x^1/2.2)^2.2 = x(x^1/2.2)^2.2 = x Graficy pracują w przestrzeni gammaGraficy pracują w przestrzeni gamma Textury powiązane z oświetleniem musza być korygowaneTextury powiązane z oświetleniem musza być korygowane Obliczenia światła powinny być w przestrzeni liniowejObliczenia światła powinny być w przestrzeni liniowej PoprawnośćPoprawność Wymagana korekta przed wyświetleniemWymagana korekta przed wyświetleniem Korekcja

Korekcja

Gamma

RozwiązanieRozwiązanie Na wejściu korygujemy texturyNa wejściu korygujemy textury Float4 Color = pow(tex2D(tex,UV),2.2)Float4 Color = pow(tex2D(tex,UV),2.2) Obliczmy oświetlenieObliczmy oświetlenie LiniowoLiniowo Korygujemy do wyświetleniaKorygujemy do wyświetlenia Final = pow(Color, 1/2.2)Final = pow(Color, 1/2.2) Korekcja

Spec = CalSpec(); Diff = tex2D( Sampler, UV ); Color = Diff * max( 0, dot( N, L ) ) + Spec; return Color; Korekcja

Spec = CalSpec(); Diff = pow( tex2D( Sampler, UV ), 2.2 ); Color = Diff * max( 0, dot( N, L ) ) + Spec; return pow( Color, 1/2.2); Korekcja

Sprzętowa korekcjaSprzętowa korekcja Odczyt texturOdczyt textur D3DSAMP_SRGBTEXTURED3DSAMP_SRGBTEXTURE Zapis do render targetuZapis do render targetu D3DRS_SRGBWRITEENABLED3DRS_SRGBWRITEENABLE Shader może zostać w wesji sprzed korekcjiShader może zostać w wesji sprzed korekcji Oszczędność POW-ówOszczędność POW-ów Korekcja

X360X360 Uwaga na krzywą gamma x360Uwaga na krzywą gamma x360 Jest to to liniowa aproksymacjaJest to to liniowa aproksymacja Stratna w zakresie szarościStratna w zakresie szarości Za jasna niskich wartościachZa jasna niskich wartościach Zbyt kontrastowaZbyt kontrastowa Wraz z krzywymi gamma telewizorów wymaga dużo uwagi, żeby uniknąć bandingu i uzyskać pożądany efektWraz z krzywymi gamma telewizorów wymaga dużo uwagi, żeby uniknąć bandingu i uzyskać pożądany efekt Korekcja

Gamma spaceGamma space DiffuseDiffuse LightmapsLightmaps EmmisiveEmmisive Inne mapy percepcyjneInne mapy percepcyjne Linear spaceLinear space Normal mapNormal map Specular mapSpecular map Inne mapy wartości fizycznych / matematycznychInne mapy wartości fizycznych / matematycznych Korekcja

Podsumowanie For more information contact me Slides will be available at Drobot.org

Questions ?