Autor Wątek: Rozwiązania techniczne a silnik Il2: CoD (stare SSAO)  (Przeczytany 17337 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Odp: Odp: Poprawki do IL2:CoD.
« Odpowiedź #15 dnia: 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

Odp: Odp: Poprawki do IL2:CoD.
« Odpowiedź #16 dnia: 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 ;) .
Pozdrawiam.
 

Offline some1

  • Global Moderator
  • *****
Odp: Odp: Poprawki do IL2:CoD.
« Odpowiedź #17 dnia: 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".
"It's not a Bug! It's an undocumented feature!"

empeck

  • Gość
Odp: Odp: Poprawki do IL2:CoD.
« Odpowiedź #18 dnia: 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

Odp: SSAO w IL2:CoD i innych grach
« Odpowiedź #19 dnia: Kwietnia 15, 2011, 16:25:10 »
Trzeba przyznać, że symulacja zniszczenia deski robi wrażenie. :)
Pozdrawiam.
 

Odp: SSAO w IL2:CoD i innych grach
« Odpowiedź #20 dnia: 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 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 dla dzisiejszych kart graficznych to dziecinna igraszka. Wszystko dzięki 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, roślin itd... proceduralne generowanie zniszczeń i deformacji... proceduralne tworzenie modeli 3D (miast, drzew, siatki terenu, itp)... proceduralne generowanie oraz realistyczne odwzorowanie mechaniki płynów i gazów... nawet proceduralne tworzenie efektów i niektórych tekstur... skomplikowane modele 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 (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. 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. :)

Odp: SSAO w IL2:CoD i innych grach
« Odpowiedź #21 dnia: Kwietnia 15, 2011, 20:37:45 »
Porównanie jak CofD wygląda z włączonym i wyłączonym SSAO:

ON | OFF


Odp: SSAO w IL2:CoD i innych grach
« Odpowiedź #22 dnia: Kwietnia 15, 2011, 20:51:47 »
Różnica nie jest aż tak wielka, jednak jest zauważalna i daje niezły efekt :) .
Pozdrawiam.
 

Odp: SSAO w IL2:CoD i innych grach
« Odpowiedź #23 dnia: Kwietnia 15, 2011, 21:17:29 »
...mam nadzieję, że te wynurzenia okażą się dla kogoś przydatne...
Dzięki za ciekawy wykład.  :001:

piotru

Offline Sundowner

  • *
  • Chasing the sunset
« Ostatnia zmiana: Kwietnia 16, 2011, 00:37:08 wysłana przez KosiMazaki »

Odp: SSAO w IL2:CoD i innych grach
« Odpowiedź #25 dnia: 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.

Odp: SSAO w IL2:CoD i innych grach
« Odpowiedź #26 dnia: 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?
Pozdrawiam.
 

Odp: SSAO w IL2:CoD i innych grach
« Odpowiedź #27 dnia: 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".

Odp: SSAO w IL2:CoD i innych grach
« Odpowiedź #28 dnia: Kwietnia 15, 2011, 23:53:21 »
Ok, dzięki za informację :)
Pozdrawiam.
 

Odp: SSAO w IL2:CoD i innych grach
« Odpowiedź #29 dnia: 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...