Autor Wątek: Angelic Forum - Demo technologiczne  (Przeczytany 16178 razy)

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Kwiecień 11, 2007, 15:33:00
Pewnie dlatego żeby wyliczyć luminacje sceny nie ? A może znasz lepszą metodę ? ;)
Zapisać na splinie dla całego demka i po kłopocie. ;)


(w przypadku gier powinno dać radę sterować exposure'em na podstawie wynikowego koloru)

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline mINA87

  • Użytkownik

# Kwiecień 11, 2007, 15:37:51
Acryl hmm lol :P Myślałem że robisz po prostu bloom'a, ale w sumie tak czy tak uzyskujemy efekt bloom, wiadomo o cochodzi :]

No jasne Krzysiek ale co to za sztuka wyrenderować scenę z 8bitową rozdzielczością per pixel i przeskalować wartości z zakresu [0,1] do [0,1] :] No dobra na niektórych kartach można pozwolić sobie na [-2,2] przy halfach - great deal :P

@down:
Niom, nie ma to jak interaktywne, dynamiczne oświetlenie RT :]

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Kwiecień 11, 2007, 16:49:58
No jasne Krzysiek ale co to za sztuka wyrenderować scenę z 8bitową rozdzielczością per pixel i przeskalować wartości z zakresu [0,1] do [0,1] :] No dobra na niektórych kartach można pozwolić sobie na [-2,2] przy halfach - great deal :P
Jeżeli renderujesz jednoprzebiegowo i nie musisz czytać floatów, to tona mapping możesz zrobić w tym samym shaderze. Monitor i tak więcej niż 8 bitów dokładności Ci nie wyświetli więc nie tracisz absolutnie nic. :)

Offline mINA87

  • Użytkownik

# Kwiecień 11, 2007, 17:04:05
Jakoś nie wydaje mi się bym nie tracił absolutnie niczego uciekając się do sztuczek :] Może w jakichś wypadkach ten 8-bitowy tone mapping będzie względnie wyglądał, ale przeważnie wszystko będzie mdłe i lipne i nie wynika to z tone mappingu, który załatwia np. expotencjalne dopasowanie do rządanego zakresu wartości, ale o model oświetlenia, który potrafi skorzystać z naprawdę niezłej dynamiki.
Widzę że skupiasz się na samym tone mappingu czyli oślepianiu przy patrzeniu na Słońce itp, ale przecież to tylko fajny i łatwy do uzyskania efekt uboczny.

Offline Acryl

  • Użytkownik

# Kwiecień 11, 2007, 18:06:18
w tym demie uzywam takze blooma. scenka z glowa na koncu to czysciutki bloom ;) chodzilo mo o to ze w scenie z machina nie ma blooma :) zreszta widac skad sie ten bloom bierze i widac takie charakterystyczne miganie dofa, jedne znajomy wypalil mi ze to wyglada jak interlace na amidze ;)

st3tc

  • Gość
# Kwiecień 11, 2007, 18:26:03
Jeżeli renderujesz jednoprzebiegowo i nie musisz czytać floatów, to tona mapping możesz zrobić w tym samym shaderze. Monitor i tak więcej niż 8 bitów dokładności Ci nie wyświetli więc nie tracisz absolutnie nic. :)

Samples: mam scenkę a na niej kilkanaście materiałów. Kilka z nich to materiały HDR bardzo "wysoko energetyczne".

Pytanie za 100 punktów: Jak obliczyć czas ekspozycji dla pozostałych materiałów nie znając uśrednionej wartości luminacji sceny ? (mówię o prostym przykładzie - w fotografii do HDRI (notabene to z fotografii ten termin a nie z grafy komputerowej ;) ) używa się często wielopolowego pomiaru luminacji - ale tam i egzotyka większa :) : wielopolowa (obszary na obrazie), niezależna kontrola ekspozycji (czytałem art o tym ;>) ).

Co chcesz zrobić w jednym shaderku ?. Mam różnorodne materiały, do tego różnorodne oświetlenie (światełko może mieć energię świecy, ale może i 100 watowej żarówki) ?. Tu nie chodzi o dokładność monitora :). Zapewnienie dużego zakresu dynamiki bez flotatów - "to se ne da" - bo będę tracił jak cholera precyzję i dostane kolorki mdłe, szare, wyblakłe ;)

(PS - bloom tez może być HDR-owy, dlatego (imo) nie należy się czepiać autorów demka - nie wiemy jak zrobili ;))
« Ostatnia zmiana: Kwiecień 11, 2007, 18:47:32 wysłana przez st3tc »

Offline mINA87

  • Użytkownik

# Kwiecień 11, 2007, 18:32:06
Pochwal się artem st3tc :P
A Krzyśkowi chodzi o to że w LDR pipeline można w shaderku robiącym output łatwo zrealizować efekt adaptacji oka.

st3tc

  • Gość
# Kwiecień 11, 2007, 18:34:42
To byl art w jakimś starym FOTO - mam gdzieś w szafce ;).

Offline mINA87

  • Użytkownik

# Kwiecień 11, 2007, 18:45:51
Uee to jak uporam się teoretycznie z Prologiem a praktycznie z gitarką to zapytam wuja Googla :P

Offline wie8

  • Użytkownik
    • ALLien Senses demogroup

# Kwiecień 11, 2007, 19:12:27
jedna osoba pomylila light w ostatniej scence z subsurface scattering :D
ale nie na tym forum =)
mowa o ostatniej scenie z glowa gdzie są obroty shprt+bloom.
czy to naprawde moze przypominac subsurface wzgledem wizualnym :) ? :P

Offline mINA87

  • Użytkownik

# Kwiecień 11, 2007, 19:27:25
Powiedziałbym Ci gdyby Vista nie szła w krzaki dokładnie w momencie fade out'u sceny z domkiem  :P "Czuję" te page faulty i słyszę "lekkie" zacięcia bass'a, a później już mam tylko mało interaktywny odtwarzacz muzyki :P

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Kwiecień 11, 2007, 19:31:28
Cytuj
Jakoś nie wydaje mi się bym nie tracił absolutnie niczego uciekając się do sztuczek :] Może w jakichś wypadkach ten 8-bitowy tone mapping będzie względnie wyglądał, ale przeważnie wszystko będzie mdłe i lipne i nie wynika to z tone mappingu, który załatwia np. expotencjalne dopasowanie do rządanego zakresu wartości, ale o model oświetlenia, który potrafi skorzystać z naprawdę niezłej dynamiki.
Widzę że skupiasz się na samym tone mappingu czyli oślepianiu przy patrzeniu na Słońce itp, ale przecież to tylko fajny i łatwy do uzyskania efekt uboczny.
Tone mapping i cały shader jest liczony z wysoką precyzją. To, jaki model oświetlenia masz wcześniej w shaderze zależy od Ciebie. :)

Cytuj
Pytanie za 100 punktów: Jak obliczyć czas ekspozycji dla pozostałych materiałów nie znając uśrednionej wartości luminacji sceny ?
Obliczyć? Dać suwak grafikowi, odpada sporo kodu, a grafik jeszcze będzie się cieszył, że ma czym kręcić. ;)

Cytuj
Zapewnienie dużego zakresu dynamiki bez flotatów - "to se ne da" - bo będę tracił jak cholera precyzję i dostane kolorki mdłe, szare, wyblakłe ;)
Gdzie tą precyzję stracisz, jeżeli wszystkie obiekty będą renderowane jednoprzebiegowym pixel shaderem bez postprocessingu?

Cytuj
A Krzyśkowi chodzi o to że w LDR pipeline można w shaderku robiącym output łatwo zrealizować efekt adaptacji oka.
Chodzi mi o to, że w shaderach masz wszystko na floatach, więc jeżeli nie będziesz po drodze odbijał się od rendertargetów to masz HDR z urzędu. :)

Cytuj
jedna osoba pomylila light w ostatniej scence z subsurface scattering :D
ale nie na tym forum =)
mowa o ostatniej scenie z glowa gdzie są obroty shprt+bloom.
czy to naprawde moze przypominac subsurface wzgledem wizualnym :) ? :P
Nie wiem jak to renderowaliście, ale ja to pomyliłem z per-vertex diffuse. ;)

Offline mINA87

  • Użytkownik

# Kwiecień 11, 2007, 19:43:20
Tone mapping i cały shader jest liczony z wysoką precyzją. To, jaki model oświetlenia masz wcześniej w shaderze zależy od Ciebie. :)
Dopóki wszystko zostaje w shaderze to tak, ale przecież ciężko coś sensownego zorganizować na jednym przebiegu, poza tym zostaje kwestia tone mappingu - tego nie możesz zrobić bez znajomosci średniej wartości luminancji. Jeśli nie dokonasz tone mappingu to efekty modelu oświetlenia o dużej dynamice jasności nie zostaną przeskalowane i dostaniesz dosyć lipne efekty.

Obliczyć? Dać suwak grafikowi, odpada sporo kodu, a grafik jeszcze będzie się cieszył, że ma czym kręcić. ;)
Obliczyć - wracamy do punktu wyjścia.
Dać suwak grafikowi - rotfl. Nie no spoko, w końcu dla scen statycznych to można taki ray trace zrobić że ho ho - po co grafik wtedy. Albo inaczej - niech gracz ma suwak - o. W scrollu - będzie sobie tone mapping dynamicznie ustawiał - oszczędzimy i kodu i pracy grafika.

Gdzie tą precyzję stracisz, jeżeli wszystkie obiekty będą renderowane jednoprzebiegowym pixel shaderem bez postprocessingu?
Precyzji nie stracisz, ale będziesz miał wszystko mdłe, ponieważ  bez tone mappingu nie wykorzystasz całego spektrum jasności.

Chodzi mi o to, że w shaderach masz wszystko na floatach, więc jeżeli nie będziesz po drodze odbijał się od rendertargetów to masz HDR z urzędu. :)
Nie, bo nie masz tone mappingu. Skoro to takie proste, to dlaczego wszystkie gry spod serii 6 i 7 GFów nie wyglądają olśniewająco?

//edit:
Qrcze klasyczny model oświetlenia nisko energetyczny ma to do siebie, że diffuse jest dosyć jasny a specular na maxa i inne obiekty o wysokiej emisji mają wartość 1.0 - dlatego czarny jest szary, jasny jest biały, a po środku mamy jakiś mało sprytny shit. Modele wysokoenergetyczne potrafią odzwierciedlić różnice w jasności obiektów o stosunkowo wysokien energii (patrz przykład st3tc'a) właśnie bazując na tych różnicach w wartości nieprzyciętych naprawdę jasnych obiektów, ale to generuje pewną entropię - bo nie mamy już zakresu 0-1 tylko 0-coś tam. Musimy mieć jakiś punkt odniesienia żeby to wsyzstko wpasować w [0,1], poza tym ten punkt odniesienia powinien uwzględniać to co widzimy! Właśnie dlatego HDRI nie jest taki prosty.
« Ostatnia zmiana: Kwiecień 11, 2007, 19:50:57 wysłana przez mINA87 »

Offline Acryl

  • Użytkownik

# Kwiecień 11, 2007, 20:19:59
rany ale watek :) nie wiem do czego sie ustosunkowac bo kazdy z was ma racje w pewnych miejscach a inni w innych miejscach :)

1.Tam gdzie jest bloom jest on zrobiony "tak jak ksiazka pisze", czyli pelny 16bit na skladowa, z filtrem, luminacja i innymi duperelami ktore do zrobienia blooma sa potrzebne. na ati jest to wyblakle ze wzgledu na 8bit, dlaczego? problemy z alfa w czesci kart oraz problemy z brakiem sprzetowego filtrowania rendertargetow na kazdym ati. wiem mozna byl zrobic filtrowanie z palucha ale to oczywiscie zwolniloby i tak juz dosc wolny rendering.

2.Natomiast co do przeslony to kazdy z was ma racje :) kamera (taka normalna nie w 3d) moze pracowac przeciez albo w automacie (to maja wszystkie modele i zazwyczaj nadaje sie to dobrze ale nei do wiekszosci mozliwych sytuacji) i moze pracowac na ustawieniu recznym. oczywiscie nei wyborazam sobie w grze recznej przeslony bo to bedzi ekicha i lepiej to zrobic na automacie ale w demie? w demi ejest tak ze tworca wie co filmuje i moze sobie ekspozycje ustawic tak jak mu wygodnie i ruszac nia na envelopie, tak wiec panowie kazdy ma z was w tym wzgledzie racje :) podany zostal przyklad kiedy automat radzi sobie dobrze wiec ja podam przyklad taki. pofilmujcie na automacie cos na tle okna. oczywiscie mozna zrobic sobie opcje backlight ;) ale prosciej jest po prostu przestawic przelacznik i recznei pokrecic przeslona

3.Tone mappingu nie wyobrazam sobie w jednym przebiegu, i tak mam juz w jedny przebiegu masakre ze swiatlami, shprt,cieniami lightmapami do tego dodac dofa, tonemapping i co jeszcze? ;)

Offline wie8

  • Użytkownik
    • ALLien Senses demogroup

# Kwiecień 11, 2007, 20:20:33
Cytuj
Nie wiem jak to renderowaliście, ale ja to pomyliłem z per-vertex diffuse.
litosci.... :)