Forum Miłośników Symulatorów Lotniczych

Hangar => IL-2 Sturmovik: Cliffs of Dover/Desert Wings – Tobruk/Blitz Edition => Wątek zaczęty przez: Sundowner w Kwietnia 14, 2011, 10:50:39

Tytuł: Rozwiązania techniczne a silnik Il2: CoD (stare SSAO)
Wiadomość wysłana przez: Sundowner w Kwietnia 14, 2011, 10:50:39
Tak swoją drogą to SSAO w ogóle jest ? Jeżeli nie widać zmian w obrazie miedzy normalnym trybem wyświetlania, a modem usuwającym SSAO, to algorytm SSAO w tym simie mieli wodę. Wiec po co opcja wyłączająca, coś co i tak nie działa. Po prostu niech to fizycznie wyłączą do czasu aż nie będzie czegoś robić.
Tytuł: Odp: Odp: Poprawki do IL2:CoD.
Wiadomość wysłana przez: Sorbifer w Kwietnia 14, 2011, 11:10:21
SSAO - też nowość dla mnie, największy ficior to chyba to, że niby ta technika nie obciąża CPU a GPU.

Patrz tutaj: http://en.wikipedia.org/wiki/Screen_Space_Ambient_Occlusion
Tytuł: Odp: Poprawki do IL2:CoD.
Wiadomość wysłana przez: RashbaNor w Kwietnia 14, 2011, 13:30:10
Tak swoją drogą to SSAO w ogóle jest?

SSAO to jedna z metod implementacji... AO czyli ambient occlusion! :)
Istnieją również inne, na przykład Bad Company 2 używa techniki nazwanej HBAO.

Tutaj odrobina teorii: http://pl.wikipedia.org/wiki/Ambient_occlusion

Generalnie daje to bardzo fajny efekt. Zdecydowanie zwiększa realizm cieniowania modeli w scenie 3D i poprawia "głębię" całej sceny. Wielu osobom ciężko jest zauważyć dobrodziejstwa jakie niesie ze sobą AO do momentu aż nie zobaczą porównania zestawiającego renderingi z włączonym i wyłączonym ambient occlusion:
(http://www.ixbt.com/video3/images/gt200-8/ssao.jpg)
(http://img.techpowerup.org/090402/Capture453.png)
(http://m.uploadedit.com/b92/46170892.gif)

W CoD SSAO jest bardzo kiepsko zaimplementowane bo efektów działania za bardzo nie widać a zżera toto sporo mocy obliczeniowej.
Tytuł: Odp: Poprawki do IL2:CoD.
Wiadomość wysłana przez: empeck w Kwietnia 14, 2011, 13:41:49
@Rash - myślę, że Sun nie pytał co to jest SSAO, tylko czy je w ogóle widać. Do Twojego posta warto dodać, że SSAO znaczy Screen Space Ambient Occlusion i to jest tylko post efekt dodawany już po wyrenderowaniu klatki. Na drugim obrazku AO jest wyrenderowane, post efekt w grach nie jest aż tak dokładny.
Tytuł: Odp: Odp: Poprawki do IL2:CoD.
Wiadomość wysłana przez: Sundowner w Kwietnia 14, 2011, 13:43:10
Dokładnie. Wiem co to jest, pytanie właśnie czy w ogóle funkcjonuje w CloD bo nikt do tej pory między nim włączonym, a wyłączonym różnicy nie zauważył. Różnica w wydajności jest zauważana, wiec po prostu algorytm "mieli wodę".
Tytuł: Odp: Odp: Poprawki do IL2:CoD.
Wiadomość wysłana przez: RashbaNor w Kwietnia 14, 2011, 14:00:41
Dokładnie. Wiem co to jest (...)

A, to ja przepraszam. Źle zrozumiałem pytanie... :P

(...) post efekt w grach nie jest aż tak dokładny.

Na razie. :)
Myślę, że w stosunkowo nieodległej przyszłości AO będzie liczone w czasie rzeczywistym z nieporównywalnie większą dokładnością niż dzisiaj w BC2 czy Crysis.

Wracając do tematu Il-2, mogliby się chłopaki postarać i porządnie SSAO zaimplementować w nowym Sturmoviku bo efekt może być naprawdę pierwsza klasa.
Tytuł: Odp: Odp: Poprawki do IL2:CoD.
Wiadomość wysłana przez: empeck w Kwietnia 14, 2011, 14:36:40
Na razie. :)
Myślę, że w stosunkowo nieodległej przyszłości AO będzie liczone w czasie rzeczywistym z nieporównywalnie większą dokładnością niż dzisiaj w BC2 czy Crysis.

Tu zapewne masz rację :)
Tytuł: Odp: Odp: Poprawki do IL2:CoD.
Wiadomość wysłana przez: empeck w Kwietnia 14, 2011, 18:04:08
Weźcie pod uwagę, że efekt tego typu jest już od dawna robiony statycznie na teksturach. Może nie zawsze da się z tego skorzystać (w przypadku reużywania tekstur, kilku obiektów obok siebie, albo animacji), ale w większości przypadków wygląda nawet lepiej.

Jeśli reużywasz (wspaniałe słowo! :D ) tekstur też możesz użyć AO wypalając je do drugiego kanału mapowania i mnożąc przez teksturę koloru. W FSie się nie da, ale pisząc swój engine jak najbardziej.
Tytuł: Technologia APEX Nvidii
Wiadomość wysłana przez: RashbaNor w Kwietnia 14, 2011, 22:28:46
(...) możesz użyć AO wypalając je do drugiego kanału mapowania i mnożąc przez teksturę koloru (...)
Chachacha! Każdy normalny człowiek reaguje na taki wpis wielkim WTF! :karpik
Na szczęście nie jestem normalny i podpisuję się pod tym! :020:
Lepiej stosować takie rozwiązanie niż ładować cieniowanie na twardo do tekstury. Oczywiście stosując tekstury z "wymalowanym" już cieniem zamiast, w tym przykładzie, AO zyskujemy sporo na wydajności bo odpada cały, dość duży shader. Aczkolwiek rozwój kart grafiki i ewolucja silników graficznych idzie w zupełnie przeciwną stronę w związku z czym wybranie takiego rozwiązania byłoby krokiem wstecz. Dynamicznie liczone oświetlenie zawsze wygrywa ze statycznymi rozwiązaniami.
Bump-mapping, AO, odbicia światła (specular lighting), rozkład natężenia światła (radiosity), oświetlenie i cieniowanie wolumetryczne, obliczenia HDR itp. - wszystko to ma za zadanie wyeliminować statyczne metody zwiększając realizm tego co oglądamy na monitorze.
Ludzki mózg bardzo szybko wyłapuje nieprawidłowości w oświetleniu, nawet nie musimy się zastanawiać nad scenką którą oglądamy - możemy nurkować w 109ce 700 km/h i koncentrować się na maleńkim bombowcu w celowniku, ale jeśli oświetlenie będzie źle zrealizowane w naszej podświadomości i tak od razu zapali się lampka "SZTUCZNE". Podobnie rzecz się ma z efektami specjalnymi do filmów - jeśli oświetlenie wyrenderowanego stworka czy robota nie pasuje idealnie do oświetlenia planu to zonk gotowy - praktycznie każdy stwierdzi "coś tutaj nie gra", świetnie rozumie to pan Neil Blomkamp.
Tytuł: Odp: Odp: Poprawki do IL2:CoD.
Wiadomość wysłana przez: empeck w Kwietnia 14, 2011, 23:47:58
Chachacha! Każdy normalny człowiek reaguje na taki wpis wielkim WTF! :karpik
Na szczęście nie jestem normalny i podpisuję się pod tym! :020:

Grafik, czy programista? ;)
Tytuł: Odp: Odp: Poprawki do IL2:CoD.
Wiadomość wysłana przez: RashbaNor w Kwietnia 15, 2011, 06:52:54
Grafik, czy programista? ;)

To pierwsze, między innymi. ;)
Do tego zapalony gracz z ponad dwudziestoletnim stażem, który lubi wiedzieć jak to działa / jak to się robi. :P
Tytuł: Odp: Odp: Poprawki do IL2:CoD.
Wiadomość wysłana przez: ath w Kwietnia 15, 2011, 12:25:57
No i gdzie to paczątko dającego 300% wydajności ?  :007:
Tytuł: Odp: Odp: Poprawki do IL2:CoD.
Wiadomość wysłana przez: empeck w Kwietnia 15, 2011, 12:40:37
To pierwsze, między innymi. ;)
Do tego zapalony gracz z ponad dwudziestoletnim stażem, który lubi wiedzieć jak to działa / jak to się robi. :P

Hehe, to tak jak ja :)

Liczę na to, że ten nowy pucz w końcu usunie te przyciachy, jeśli tak to będę w stanie spokojnie latać.
Tytuł: Odp: Odp: Poprawki do IL2:CoD.
Wiadomość wysłana przez: piotru w Kwietnia 15, 2011, 12:42:13
Panowie zaawansowani graficy/programiści,
Na podstawie Waszej wymiany myśli i spostrzeżeń odnoszę nieodparte wrażenie że cała para przy nowych produkcjach gier idzie głównie w poprawę szeroko rozumianej oprawy graficznej? A co z taką np. "fizyką" wirtualnego świata? Jeśli to mylne wrażenie to będę wdzięczny za wyprowadzenie z błędu.

piotru
Tytuł: Odp: Odp: Poprawki do IL2:CoD.
Wiadomość wysłana przez: empeck w Kwietnia 15, 2011, 12:57:25
To trochę offtopic, ale poza samą grafiką reszta technologii też idzie mocno do przodu, przynajmniej w mainstreamie, simy są jak zwykle trochę z tyłu, ale to zrozumiałe.

Technologia APEX Nvidii jest imponująca, ale pewnie jeszcze trochę to potrwa zanim trafi ona do gier.
http://www.youtube.com/watch?v=mrtwESnTOwY

Światła też są liczone w coraz lepszy sposób, CryEngine, czy Frostbite 2.0 mają Global Illumination wraz z color bleeding (światło odbite przejmuje kolor powierzchni od której się odbija) liczone w realtime:
http://www.youtube.com/watch?v=--PTRapqguY
http://www.youtube.com/watch?v=foXVF7q035Y
Tytuł: Odp: Odp: Poprawki do IL2:CoD.
Wiadomość wysłana przez: piotru w Kwietnia 15, 2011, 14:02:44
...Technologia APEX Nvidii jest imponująca...
Na pewno włosy panienki robią piorunujące wrażenie, tylko mi chodziło o coś troszkę innego. Powiedzmy że projektuje się świat w którym z grubsza działają zasady fizyki podobne do świata realnego; np. wrzucona do tego świata bryła (samolot?) ma jakieś tam właściwości aerodynamiczne, według tych samych zasad liczone są właściwości innej bryły (cegła?) . W jednej i drugiej bryle powstają jakieś naprężenia które to z kolei mogą się kumulować i powodować ich zniszczenie itp. Czy coś takiego, przy produkcji najnowszych gier, jest w ogóle robione czy to całkowite sf?

piotru
Tytuł: Odp: Odp: Poprawki do IL2:CoD.
Wiadomość wysłana przez: Dziobas w Kwietnia 15, 2011, 15:12:21
Empeck dobrze napisał, że symulatory zwykle są trochę z tyłu. Głównie odwzorowanie fizyki implementowane jest w FPSach (np.: GRAW2, tam fizyka na ustawieniu "Exteme" robiła wrażenie).

W jednej i drugiej bryle powstają jakieś naprężenia które to z kolei mogą się kumulować i powodować ich zniszczenie itp. Czy coś takiego, przy produkcji najnowszych gier, jest w ogóle robione czy to całkowite sf?
Myślę, że jak na razie jest to sf ;) .
Tytuł: Odp: Odp: Poprawki do IL2:CoD.
Wiadomość wysłana przez: some1 w Kwietnia 15, 2011, 15:48:35
Tylko że "fizyka" w popularnych grach, a fizyka w symulatorach to dwie różne rzeczy. W grach wystarczy jak beczki będą się realistycznie odbijać a odłamki sypać na ziemię. Widziałem gdzieś wypowiedź jednego z developerów, niestety nie pamiętam czy DCS czy RoF, który można streścić w słowach "physx is useless".
Tytuł: Odp: Odp: Poprawki do IL2:CoD.
Wiadomość wysłana przez: empeck w Kwietnia 15, 2011, 15:52:02
Na pewno włosy panienki robią piorunujące wrażenie, tylko mi chodziło o coś troszkę innego. Powiedzmy że projektuje się świat w którym z grubsza działają zasady fizyki podobne do świata realnego; np. wrzucona do tego świata bryła (samolot?) ma jakieś tam właściwości aerodynamiczne, według tych samych zasad liczone są właściwości innej bryły (cegła?) . W jednej i drugiej bryle powstają jakieś naprężenia które to z kolei mogą się kumulować i powodować ich zniszczenie itp. Czy coś takiego, przy produkcji najnowszych gier, jest w ogóle robione czy to całkowite sf?

piotru

Gry to w mniejszym lub większym stopni znajdowanie hacków, sztuczek i uproszczeń tak, by efekt przypominał rzeczywistość (załóżmy). Nie ma absolutnie sensu implementowanie 100% realizmu, bo tego żaden sprzęt nie pociągnie, poza tym zbliżony efekt można osiągnąć prostszymi sposobami.

To będzie najbliższe temu o czym mówisz, ale jak to wygląda ingame to nie wiem, nie widziałem tej gry, tylko filmiki z techdema:

http://www.youtube.com/watch?v=FqNJRxn23NQ
Tytuł: Odp: SSAO w IL2:CoD i innych grach
Wiadomość wysłana przez: Dziobas w Kwietnia 15, 2011, 16:25:10
Trzeba przyznać, że symulacja zniszczenia deski robi wrażenie. :)
Tytuł: Odp: SSAO w IL2:CoD i innych grach
Wiadomość wysłana przez: RashbaNor w Kwietnia 15, 2011, 19:51:21
W pierwszej kolejności propozycja dla adminów na zmianę nazwy wątku na coś w stylu "Rozwiązania techniczne a silnik Il2: CoD" ponieważ temat wykroczył zdecydowanie poza zagadnienia związane z samym SSAO.

Jeśli chodzi o fizykę w grach, tych "prostszych" i w symulatorach, to moc dzisiejszych wielordzeniowych procesorów (CPU) i układów kart graficznych (GPU) pozwala na spokojne obliczanie w czasie rzeczywistym naprawdę skomplikowanych modeli fizycznych.
Filmik z Force Unleashed, który wrzucił Empeck to tylko wierzchołek góry lodowej, tutaj (http://www.youtube.com/watch?v=ly64-Bn7i4k) jest tego więcej. FU korzysta z proceduralnie tworzonych animacji i proceduralnego modelu zniszczeń. Wszystko liczone jest przez CPU i nawet konsole (360ka i PS3) spokojnie dają sobie z tym radę. Gdyby, w przypadku PC, zdjąć z CPU obowiązek liczenia takich rzeczy i zwalić wszystko na barki GPU (ostatnich czterech generacji kart graficznych) to mamy dostęp do wielokrotnie większej mocy obliczeniowej. W przypadku najnowszej generacji kart grafiki można spokojnie mówić o gigantycznej przewadze wydajnościowej nad CPU! Coś takiego (http://www.youtube.com/watch?v=oUjsqyQDJaY) dla dzisiejszych kart graficznych to dziecinna igraszka. Wszystko dzięki GPGPU (http://pl.wikipedia.org/wiki/GPGPU) pozwalające na układach kart graficznych wykonywać tzw. kod ogólnego przeznaczenia. Z grubsza polega to na tym, że karta grafiki nie zajmuje się już tylko przeliczaniem wierzchołków, teksturowaniem, renderowaniem, przetwarzaniem pikseli itd ale również może zostać zaprzęgnięta do obliczeń nie mających bezpośredniego związku z generowaniem obrazu.

Co to znaczy w praktyce i jak wygląda przyszłość silników gier?
Proceduralne (w wielkim skrócie: generowane dynamicznie według określonego przez programistę schematu) animowanie postaci (http://www.youtube.com/watch?v=r6F3lT1v79I), roślin (http://www.youtube.com/watch?v=JjZc9ayGlaM) itd... proceduralne generowanie zniszczeń (http://www.youtube.com/watch?v=grIVUDH4FIM) i deformacji (http://www.youtube.com/watch?v=HF1-8fmT4U4)... proceduralne tworzenie modeli 3D (miast (http://www.youtube.com/watch?v=-d2-PtK4F6Y), drzew (http://www.youtube.com/watch?v=3TZM8gFPjlY), siatki terenu (http://www.youtube.com/watch?v=mTrSz6OcMl4), itp)... proceduralne generowanie oraz realistyczne odwzorowanie mechaniki płynów (http://www.youtube.com/watch?v=D4FY75GwA00) i gazów (http://www.youtube.com/watch?v=tvBcrHC6XuQ)... nawet proceduralne tworzenie efektów (http://www.youtube.com/watch?v=bvV8gmwSgwI) i niektórych tekstur (http://www.youtube.com/watch?v=NkTIZ1GldgQ)... skomplikowane modele (http://www.youtube.com/watch?v=hPVokaEvPJY) fizyczne... dużo bardziej złożone algorytmy AI... 
Wszystko to może być realizowane przez sprzęt obsługujący GPGPU (DirectCompute / OpenCL / CUDA / PhysX).

Oczywiście do tego dołączy coraz lepsza grafika z realistycznym oświetleniem (http://www.youtube.com/watch?v=O8730SR1POk) (o czym było już wcześniej). Zdecydowanie mniejsza będzie ilość prekonfigurowanych efektów, statycznych rozwiązań dotyczących oświetlenia, animacji po prostu odtwarzanych w danym momencie i zaprojektowanych w całości przez animatora...
 
Pytanie - dlaczego w takim Il-2 Cliffs of Dover żadna z powyżej opisanych funkcji nie jest wykorzystywana? Gra nie obsługuje też teselacji, która w cudowny sposób rozwiązałaby upierdliwą konieczność tworzenia paru modeli LOD (level of detail) dla praktycznie każdego istotnego obiektu w grze. Odpowiedź jest prozaiczna - z braku czasu i umiejętności.
Technologia zasuwa do przodu w niesamowitym tempie. To co 4 lata temu sprawiało kartom graficznym i procesorom spore problemy dzisiaj - 4 generacje sprzętu później - jest obliczane bez wysiłku (np. HDR, wolumetryczne cienie, FSAA itp). Twórcy gier nie są w stanie za tym nadążyć, zwłaszcza że robi się to wszystko coraz bardziej skomplikowane. Najpierw programiści muszą nowinkę opanować, potem zaimplementować ją w silniku gry. Później graficy, modelarze i animatorzy muszą się nauczyć nowość wykorzystywać a następnie tworzyć tekstury, modele oraz animacje już z myślą o nowych funkcjach silnika. Do tego należy wziąć pod uwagę osoby projektujące poziomy czy misje, lead designerów którzy muszą być w pełni świadomi możliwości jakie daje im engine gry, testerów którym trzeba przekazać na co mają zwracać uwagę przy sprawdzaniu implementacji jakiejś nowinki itd, itd. Taki proces przyswajania nowych technologii zajmuje, w najlepszym przypadku, miesiące a w najgorszym - całe lata. Dlatego wiele bajerów działających dzisiaj płynnie w demkach technologicznych będziemy oglądać w grach dopiero za rok czy dwa a może nawet później. :005:

Na koniec małe porównanko (http://www.youtube.com/watch?v=-cnp97EaW68). Każdy posiadacz karty nVidia może sobie to sprawdzić na własnym sprzęcie.

Uff... mam nadzieję, że te wynurzenia okażą się dla kogoś przydatne. :P
Jeśli ktoś czuje głód informacji to niech doczyta sobie więcej o GPGPU, DirectCompute, OpenCL, CUDA i proceduralnym traktowaniu prawie wszystkiego. :)
Tytuł: Odp: SSAO w IL2:CoD i innych grach
Wiadomość wysłana przez: RashbaNor w Kwietnia 15, 2011, 20:37:45
Porównanie jak CofD wygląda z włączonym i wyłączonym SSAO:

ON | OFF
(http://img842.imageshack.us/img842/3000/cofdssaoon2.th.jpg) (http://img842.imageshack.us/i/cofdssaoon2.jpg/)(http://img857.imageshack.us/img857/245/cofdssaooff2.th.jpg) (http://img857.imageshack.us/i/cofdssaooff2.jpg/)
(http://img818.imageshack.us/img818/4981/cofdssaoon1.th.jpg) (http://img818.imageshack.us/i/cofdssaoon1.jpg/)(http://img824.imageshack.us/img824/2794/cofdssaooff1.th.jpg) (http://img824.imageshack.us/i/cofdssaooff1.jpg/)
Tytuł: Odp: SSAO w IL2:CoD i innych grach
Wiadomość wysłana przez: Dziobas w Kwietnia 15, 2011, 20:51:47
Różnica nie jest aż tak wielka, jednak jest zauważalna i daje niezły efekt :) .
Tytuł: Odp: SSAO w IL2:CoD i innych grach
Wiadomość wysłana przez: piotru w Kwietnia 15, 2011, 21:17:29
...mam nadzieję, że te wynurzenia okażą się dla kogoś przydatne...
Dzięki za ciekawy wykład.  :001:

piotru
Tytuł: Odp: SSAO w IL2:CoD i innych grach
Wiadomość wysłana przez: Sundowner w Kwietnia 15, 2011, 21:25:58
Porównanie jak CofD wygląda z włączonym i wyłączonym SSAO:

ON | OFF
http://img842.imageshack.us/i/cofdssaoon2.jpg/
http://img857.imageshack.us/i/cofdssaooff2.jpg/
http://img818.imageshack.us/i/cofdssaoon1.jpg/
http://img824.imageshack.us/i/cofdssaooff1.jpg/
Jaka różnica % wydajności ?
Tytuł: Odp: SSAO w IL2:CoD i innych grach
Wiadomość wysłana przez: RashbaNor w Kwietnia 15, 2011, 21:34:29
Jaka różnica % wydajności ?

U mnie stosunkowo niewielka, najwyżej 3 - 5 fps. Należy brać jednak pod uwagę, że mam GTX 580. W tym przypadku im słabsza karta grafiki tym różnica na korzyść SSAO: OFF będzie większa więc posiadacze starszego sprzętu powinni odczuć większe, procentowo, przyspieszenie niż ja.
Tytuł: Odp: SSAO w IL2:CoD i innych grach
Wiadomość wysłana przez: Dziobas w Kwietnia 15, 2011, 23:34:59
Który parametr odpowiada za włączenie lub wyłączenie SSAO w CoD? Trzeba grzebać w conf.ini czy jest to w ustawieniach wideo?
Tytuł: Odp: SSAO w IL2:CoD i innych grach
Wiadomość wysłana przez: RashbaNor w Kwietnia 15, 2011, 23:47:50
Który parametr odpowiada za włączenie lub wyłączenie SSAO w CoD? Trzeba grzebać w conf.ini czy jest to w ustawieniach wideo?

Musisz ściągnąć dzisiejszą betę patcha i opcja wyłączania SSAO pojawi się w ustawieniach "Wideo".
Tytuł: Odp: SSAO w IL2:CoD i innych grach
Wiadomość wysłana przez: Dziobas w Kwietnia 15, 2011, 23:53:21
Ok, dzięki za informację :)
Tytuł: Odp: SSAO w IL2:CoD i innych grach
Wiadomość wysłana przez: jagular w Kwietnia 16, 2011, 03:34:01
SSAO wydaje się być dla moich oczu uproszczoną wersją uproszczonej podwersji uproszczonego global illumination/radiosity.
O ile wdrożenie tego typu algorytmów do softu 3D jakiś czas temu, wniosło wiele możliwości, to w grze mimo wszystko (jak dla mnie) "całe to" SSAO niewiele zmienia. Ot dodaje rozjaśnienie w cieniach związane z mocno szczątkowym wdrożeniem zauważania przez jedną powierzchnię istnienia powierzchni obok/wokół :)
Prawdopodobnie jest to efekt priorytetyzacji tego, co się widzi: efekt nie jest jakiś znaczący, "gubi się" w mimo wszystko, bardzo uproszczonej grafice w grze, której to uproszczenie 'dominuje' w odbiorze tego, co widzimy na ekranie.
Dobre toto będzie za jakiś czas, kiedy włączenie/wyłączenie nie będzie jakimś szczególnym problemem wydajnościowym.

Zaś co do tech-dem...nie chcę, broń Boże, w jakikolwiek sposób atakować kolegę RashbaNora, ale...to tylko i wyłącznie tech-dema. Dziesięć lat temu można było obejrzeć w tych demkach cuda ( :P), których poziomu jakości do tej pory próżno szukać w grach. Mimo wszystko, mają te dema znaczącą funkcję marketingową. "Muszą" pokazywać potęgę danego układu graficznego (i często naprawdę dobrze to robią), nie ma to jednak dużo wspólnego z grami...
Tytuł: Odp: SSAO w IL2:CoD i innych grach
Wiadomość wysłana przez: RashbaNor w Kwietnia 16, 2011, 14:04:17
SSAO wydaje się być dla moich oczu uproszczoną wersją uproszczonej podwersji uproszczonego global illumination/radiosity.
(...) Ot dodaje rozjaśnienie w cieniach związane z mocno szczątkowym wdrożeniem zauważania przez jedną powierzchnię istnienia powierzchni obok/wokół :)

Radzę poczytać trochę o AO. Wtedy nie będziesz musiał tworzyć dziwacznych definicji i dowiesz się, że SSAO nie ma nic wspólnego z rozjaśnianiem cieni.

Zaś co do tech-dem...nie chcę, broń Boże, w jakikolwiek sposób atakować kolegę RashbaNora, ale...to tylko i wyłącznie tech-dema. Dziesięć lat temu można było obejrzeć w tych demkach cuda ( :P), których poziomu jakości do tej pory próżno szukać w grach. Mimo wszystko, mają te dema znaczącą funkcję marketingową. (...)

Nie czuję się zaatakowany, może dlatego że nie zajmuje się tworzeniem dem technologicznych. ;)
Postaram się jednak wyprowadzić Cię z błędu.
Po pierwsze. Dema technologiczne nie są tworzone tylko przez producentów kart graficznych, którzy chcą opchnąć swój sprzęt w jak największych ilościach. Takie dema (często w formie benchmarków) tworzą też producenci silników graficznych, którzy liczą na zwiększenie popularności swojego produktu (Unigine i ich Heaven (http://www.youtube.com/watch?v=9F6zSgtRnkE), BitSquid i ich Stone Giant (http://www.youtube.com/watch?v=jUAj9tz24KQ), Stonetrip i ich Shiva3D (http://www.youtube.com/watch?v=UCgMCupq_x0), itd). Oprócz tego demka powstają też jako reklamówki middleware'ów (Havok (http://www.youtube.com/watch?v=a06hAe747Do), Euphoria (http://www.youtube.com/watch?v=q0yvs6RJVVY), Enlighten (http://www.youtube.com/watch?v=eFHxluXS3KM), Lightsprint (http://www.youtube.com/watch?v=lB5_x2BVRH0), Image Metrics (http://www.youtube.com/watch?v=MQWzfW1-90U), SpeedTree (http://www.youtube.com/watch?v=EhwZ7Sb0PHA), APEX (http://www.youtube.com/watch?v=UY_kTMFpQ4E), itp). Czasem demka technologiczne wypuszczają sami producenci gier chcąc zareklamować swój tytuł lub zdobyć fundusze na dalszą pracę nad nim, tak jak w przypadku Interstellar Marines (http://www.interstellarmarines.com). Widać więc, że to nie zawsze jest prymitywna metoda służąca do nakręcenia geeków na kupno nowej karty grafiki.
Po drugie, od dawna wiadomo, że dema technologiczne nie sprzedają sprzętu nawet w połowie tak skutecznie jak robią to gry. Łatwo to zaobserwować na przykładzie rynku konsolowego. Nietrudno też sobie wyobrazić scenariusz "muszę kupić GTX 590 żeby Il-2 mi dobrze zasuwał" w przeciwieństwie do "muszę sobie kupić GTX 590 żeby Stone Giant mi działał płynnie". ;)
Po trzecie, dema technologicznie nVidii i ATi bardzo często trafiają razem z kodem źródłowym i dokumentacją do producentów gier, którzy z otwartymi rękami przyjmują takie prezenty bo ułatwia im to unowocześnianie własnego silnika.

Na koniec mały powrót do przeszłości. Dziesięć lat temu rządził GeForce 2 a na rynek wbijał się jego następca - GeForce 3, który miał walczyć o pozycję z Radeonami 8xxx. Wtedy piorunujące wrażenie robiły następujące dema:
http://www.youtube.com/watch?v=4tTWW2BRQGo
http://www.youtube.com/watch?v=GTfzAJwrtwQ
http://www.youtube.com/watch?v=y2uNqyy9Ke8
http://www.youtube.com/watch?v=SAjn11J24YU
http://www.youtube.com/watch?v=iK4Dx10yb88
Nie widać w tych filmikach niczego co nie występowałoby w dzisiejszych gierkach, sorry. Jeśli masz takie stare demko technologiczne, w którym zastosowano rozwiązania na których implementację w grach ciągle czekamy to podrzuć link. ;)
Tytuł: Odp: SSAO w IL2:CoD i innych grach
Wiadomość wysłana przez: empeck w Kwietnia 16, 2011, 15:47:30
Czekamy na włosy Nalu ;)

http://www.youtube.com/watch?v=9K8masjDBrI

A poważnie, to masz rację.

@jagular - ambient occlusion bardzo upraszczając po prostu zaciemnia zakamarki. Dodaje to plastyczności i głębi obrazowi. Przy czym powinno to występować wyłącznie w miejscach które są oświetlane światłem odbitym, a nie bezpośrednim.
Tytuł: Odp: SSAO w IL2:CoD i innych grach
Wiadomość wysłana przez: RashbaNor w Kwietnia 16, 2011, 16:29:27
Czekamy na włosy Nalu ;)

Ech, te @%#! włosy! :D
Niestety, dopiero dzisiejsze karty grafiki dają se w miarę radę z obliczaniem kolizji takiego ustrojstwa jak włosy czy skomplikowane tkaniny.
Widać to na przykład na tym filmiku: http://www.youtube.com/watch?v=3zSYLldFEUI
Myślę, że jeszcze ze 2 lata upłyną zanim takie kędziory zaczną pojawiać się w gierkach i to tylko na PC, konsole obecnej generacji nie ogarną tego tematu - nie ma szans.
Włosy wymagają straszliwej ilości obliczeń. Wszystko przez to, że w środowisku gry takie włochacze poddawane są całej masie wpływów. Stykają się z głową i ramionami postaci, kolidują z różnymi przedmiotami (na przykład ścianami czy bronią zawieszoną na plecach, itp), poruszają się w trakcie ruchu postaci, reagują na ruch powietrza (jeśli postać wychodzi na otwartą przestrzeń i gdzieś w okolicy powiewa sobie flaga to włoski też powinny powiewać, tak samo jeżeli postać wsiądzie na konia i zasuwa galopem przed siebie, itp), reagują na wodę (postać nurkuje lub po prostu płynie wpław przez rzeczkę), reagują na grawitację (postać stoi, leży, siedzi czy wisi do góry nogami - włosy wciąż muszą opadać ku ziemi)...
Zupełnie inaczej jest w demku z Nalu gdzie syrenka po prostu sobie nurkuje i nic nieprzewidywalnego się nie zdarzy a więc model nie musi być dynamiczny. ;)
Na dodatek, należy pamiętać o tym, że siatka włosów musi być gęsta bo inaczej będą wyglądać kiepsko. Gęsta siatka to wiele wierzchołków, a wiele wierzchołków to sporo roboty dla karty. Z pomocą tutaj przychodzi sprzętowo wspierana teselacja, która dostępna jest dopiero w DirectX 11. No i jeszcze trzeba obliczać cienie tych włosów oraz shadery dzięki, którym będą reagować na oświetlenie jak prawdziwe włosy a nie pasemka papieru. :003:
Krótko mówiąc, w świecie grafiki 3D - zwłaszcza tej liczonej w czasie rzeczywistym, włosy to HARDCORE (http://www.youtube.com/watch?v=8vfLRL4YAMg&t=6s). :021:

Szkoda...
(http://cache.gawker.com/assets/images/kotaku/2011/02/badhairdecades.jpg)
Tytuł: Odp: SSAO w IL2:CoD i innych grach
Wiadomość wysłana przez: piotru w Kwietnia 16, 2011, 17:07:46
Czy można zatem pokusić się o następujący wniosek: odwzorowanie rzeczywistych warunków fizycznych w symulatorach jest co prawda możliwe, ale szansa że kiedyś tak się stanie jest bliska zeru bo to nieopłacalne (w dosłownym znaczeniu). I koniecznie przykład; Nie ma sensu "programować" serii pocisków, obliczać jak tam sobie będą lecieć, jakie uczynią szkody w trafionym obiekcie (z dokładnością do każdego trafienia i jego parametrów/warunków), ale ekonomiczniej jest przyjąć po prostu że 2 sekundowa seria Spitfire'a ma taką a taką siłę niszczącą. Następnie podzielić tą siłę przez współczynnik odległości z jakiej seria została oddana (plus kilka innych współczynników np. kąta uderzenia), natomiast więcej wysiłku włożyć w bardziej realistyczną wizualizację trafień i ich efektów. Jeśli przyszłość gier zwanych symulatorami ma wyglądać w ten sposób to chyba jednak pozostaną one tylko grami i niczym więcej, żal żal żal...

piotru
p.s.
Oczywiście pocisków użyłem tylko jako przykład
Tytuł: Odp: SSAO w IL2:CoD i innych grach
Wiadomość wysłana przez: Sorbifer w Kwietnia 16, 2011, 17:08:39
Ten HARDCODE wygląda rzeczywiście świetnie. Nieźle będą wyglądały gry na moim kompie za jakieś 5 lat...

A jest jakaś bariera 3D, po dojściu do której rozwój kart się zatrzyma? Jak to wszystko, 10^6 elementów na raz, w HD full wypas już będzie tak wyglądało realistycznie, że będzie można powiedzieć: koniec, lepiej się nie da? Za 10-20 lat? O rany, i co wtedy?
Tytuł: Odp: SSAO w IL2:CoD i innych grach
Wiadomość wysłana przez: Sundowner w Kwietnia 16, 2011, 17:45:59
Karty graficzne maja to do siebie, że są zintegrowanymi układami, gdzie procesory muszą zachowywać pewną kompatybilność np. z zewnętrznymi pamięciami. W karcie graficznej takich ograniczeń nie ma i można ją projektować wedle uznania, zwiększając też ilość pamięci i GPU wedle uznania. Do tego wyjściem karty graficznej jest monitor - finalny obraz, nie musi wyników swoim obliczeń wysyłać do innego układu, gdzie istnieje potencjał wąskiego gardła (patrz problemy il2:HD/CoD). Póki rynek gier PC będzie kwitł, to karty graficzne będą się rozwijać szybciej niż inne komponenty komputerów.
Tytuł: Odp: SSAO w IL2:CoD i innych grach
Wiadomość wysłana przez: jagular w Kwietnia 16, 2011, 20:23:00
Radzę poczytać trochę o AO. Wtedy nie będziesz musiał tworzyć dziwacznych definicji i dowiesz się, że SSAO nie ma nic wspólnego z rozjaśnianiem cieni.
Oj, z racji tego, że jakiś czas temu (powiedzmy od czasów Amigi i pierwszych wersji Lightwave, które nie wymagały obecności VT do działania) interesowałem się i trochę zajmowałem 3D, poczytać miałem już okazję :)
Bierzesz wszystko, jak widać, dosłownie.
SSAO ma tyle wspólnego z rozjaśnieniem cieni (tu precyzyjna definicja: chodzi o lewe ok. 30% histogramu), na ile mogłem zauważyć takie, a nie inne działanie tej funkcji na screenshotach, które wcześniej tu umieściłeś. Tak wygląda (dla moich oczu) działanie tego algorytmu.
Nie czuję się zaatakowany, może dlatego że nie zajmuje się tworzeniem dem technologicznych.
...
Znowu konkretnie :)
To 10 lat rzeczywiście było przesadą. Niemniej choćby wspomniane wyżej Nalu z 2004 roku jest dobrym przykładem.
Tytuł: Odp: SSAO w IL2:CoD i innych grach
Wiadomość wysłana przez: RashbaNor w Kwietnia 16, 2011, 21:27:58
Czy można zatem pokusić się o następujący wniosek: odwzorowanie rzeczywistych warunków fizycznych w symulatorach jest co prawda możliwe, ale szansa że kiedyś tak się stanie jest bliska zeru bo to nieopłacalne (w dosłownym znaczeniu). (...)
Nie, na szczęście tak nie jest. Tak po prawdzie to często łatwiej jest stworzyć model fizyczny oparty w jak największym stopniu o rzeczywistość niż tworzyć modele, które na skróty ale w miarę sensownie tą rzeczywistość udają. Dla wielu programistów fizyka i matematyka to nic trudnego więc gdyby mieliby dostateczną moc obliczeniową do dyspozycji to po prostu opisaliby "życie" pocisku stosując wzory, których uczyli się z podręczników. Niestety na razie takiej mocy jeszcze nie mają pod ręką więc muszą kombinować, iść na skróty, balansować między realizmem a wydajnością i efekt, siłą rzeczy, zawsze mocno odbiega od ideału.
W tej chwili pozostaje nam tylko pocieszać się, że dzięki GPGPU zmiany na lepsze będą następować gwałtowniej niż do tej pory i w końcu doczekamy się symulatora gdzie model zniszczeń, mechanika gazów, model lotu i symulacja pracy podzespołów oraz silnika samolotu będą niesamowicie realistyczne. Pytanie tylko co wtedy? Skala skomplikowania i trudności obsługi takiego symulatora może być przytłaczająca. Zwłaszcza bez dobrego joysticka, przepustnicy, masy analogowych suwaków i pokręteł, znajomości budowy i zasad funkcjonowania silnika, znajomości konkretnej maszyny którą lecimy itd. Tam gdzie znikną problemy, na które narzekamy dzisiaj pojawią się nowe na które możemy narzekać za 10 - 15 lat. Ile osób będzie chciało kupić tak realistyczny do bólu symulator, ilu zdecyduje się latać "full real"? :)
Wielki temat i fajny do obgadania przy browarku... :P

Bierzesz wszystko, jak widać, dosłownie.
Ciężko nie brać dosłownie czegoś co się czyta i nie jest przez piszącego wyraźnie zaznaczone jako żart.

SSAO ma tyle wspólnego z rozjaśnieniem cieni (...) na ile mogłem zauważyć takie, a nie inne działanie tej funkcji na screenshotach, które wcześniej tu umieściłeś.
Wydaje mi się, że nie ma szans dojrzeć na tych screenshotach jakiegokolwiek rozjaśnienia cieni, ale spoko - odpuszczam. Niegrzecznym z mojej strony byłoby gdybym cisnął Cię do przyjęcia mojego punktu widzenia. W związku z tym koniec tematu, peace! :P

Nalu z 2004 roku jest dobrym przykładem.
Ja, z przyczyn które już wcześniej opisałem, przykład z włosami nazwałbym wyjątkiem potwierdzającym regułę . Jeśli kogoś to interesuje to mogę bardziej rozwinąć moją myśl na temat włosów w świecie grafiki 3D liczonej w czasie rzeczywistym. Tylko chyba już na priva czy via GG bo to forum, ten dział i ten wątek raczej nie traktują o zboczeniach grafików i programistów 3D. ;)

A jest jakaś bariera 3D, po dojściu do której rozwój kart się zatrzyma? Jak to wszystko, 10^6 elementów na raz, w HD full wypas już będzie tak wyglądało realistycznie, że będzie można powiedzieć: koniec, lepiej się nie da? Za 10-20 lat? O rany, i co wtedy?
Na 100% kiedyś dotrzemy do momentu kiedy procesory (prawdopodobnie już nie CPU ani GPU tylko zintegrowane wielozadaniowe układy) będą miały tak wielką moc obliczeniową i dostęp do gigantycznych zasobów superszybkiej pamięci, że generowanie fotorealistycznego obrazu w czasie rzeczywistym będzie możliwe. I co wtedy? Wtedy gry będą miały bardzo ładną grafikę. :D
A tak poważnie, myślę że kiedy do tego dojdzie rozrywka interaktywna (gry) będzie główną zabawką ludzkości a nie, tak jak dzisiaj, filmy i telewizja. Wtedy pytanie "czy lepiej się nie da" nie będzie dotyczyło odwzorowania rzeczywistości - nie będą to pytania w stylu "czy odbicia i załamania światła w wodzie mogą wyglądać lepiej" albo "czy na drzewach tego lasu powinna być większa różnorodność liści niż 1000 wariantów, które teraz mamy". Wszystko będzie się rozbijać o ludzką wyobraźnię - jaką stylistykę wybierzemy, jakie lokacje wymyślimy, jakie światy, jakie stwory, jakich bohaterów, jaką broń, jakie maszyny, jaką fabułę. Twórcy gier będą mieli w rękach doskonałe narzędzie a jedynym ograniczeniem będzie wyobraźnia i... jak zwykle kasa. :D
Tytuł: Odp: SSAO w IL2:CoD i innych grach
Wiadomość wysłana przez: empeck w Kwietnia 16, 2011, 21:44:37
Jeśli chodzi o symulatory to odwzorowanie rzeczywistości jest jak najbardziej pożądane. W przypadku innych gier szczerze mówiąc wolę ładną i ciekawą stylizację niż uber realizm.

Zresztą, wg mnie ów realizm wizualny się mocno gryzie z jego brakiem w gameplayu i założeniach gry. Choćby ciężkie rany w strzelankach które magicznie się leczą gdy tylko się schowamy za rogiem. Wolę grę taką jak Minecraft (o roguelike nie wspomnę ;) ), w której jest wiele pozostawione wyobraźni niż wszystko podane na tacy. Dlatego coraz rzadziej gram w mainstreamowe gry, zwłaszcza takie które próbują udawać rzeczywistość.
Tytuł: Odp: SSAO w IL2:CoD i innych grach
Wiadomość wysłana przez: jagular w Kwietnia 16, 2011, 22:04:25
W związku z tym koniec tematu, peace! :P
A pewnie, po co się ścierać :)

Prawdopodobnie, obok możliwości technicznych, barierą w kierunku super-realnie-wyglądających gier są możliwości edytorów. W końcu im bardziej szczegółowe i różnorodne "obiekty" (pisząc maksymalnie ogólnie) mamy na ekranie, tym więcej czasu musi 'ktoś' spędzić na tworzeniu tych szczegółów i różnorodności, budowaniu poziomów itd. Robiąc wszystko "ręcznie", zacznie się dochodzić do bariery gigantycznej liczby roboczogodzin potrzebnych na projekt...
Tytuł: Odp: SSAO w IL2:CoD i innych grach
Wiadomość wysłana przez: janweg w Kwietnia 16, 2011, 22:57:07
RashbaNor

Pisz jak najwięcej. Bardzo ciekawie opowiadasz o rzeczach o których zupełnie nie mam pojęcia. To chyba jest dobre miejsce do tego typu wypowiedzi (trzeba tylko poprosić Adminów aby nieco poszerzyli nazwę tematu). Z Twoich postów bardzo dużo się dowiedziałem, dysponujesz naprawdę  imponującą wiedzą.

Cytuj
Wydaje mi się, że nie ma szans dojrzeć na tych screenshotach jakiegokolwiek rozjaśnienia cieni, ale spoko - odpuszczam. Niegrzecznym z mojej strony byłoby gdybym cisnął Cię do przyjęcia mojego punktu widzenia. W związku z tym koniec tematu, peace!

 Jestem pod wrażeniem Twojej kultury prowadzenia dyskusji, to niezwykle rzadkie zjawisko.
Tytuł: Odp: SSAO w IL2:CoD i innych grach
Wiadomość wysłana przez: piotru w Kwietnia 17, 2011, 04:28:04
... i w końcu doczekamy się symulatora gdzie model zniszczeń, mechanika gazów, model lotu i symulacja pracy podzespołów oraz silnika samolotu będą niesamowicie realistyczne. Pytanie tylko co wtedy?...
A wtedy jakieś futurystyczne (w tej chwili) gogle + rękawice VR, odpowiedni pod programik do takiego "dreamsim'a" i mamy kokpit dowolnego samolotu odwzorowany i działający w 100% (cały wirtualny samolot, rzecz jasna, też). Ech... mam ogromną nadzieję że Twoje przepowiednie dotyczące rozwoju sprzętu i technik programistycznych się sprawdzą a ja dożyję tych czasów

piotru