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

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

Odp: SSAO w IL2:CoD i innych grach
« Odpowiedź #30 dnia: 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, BitSquid i ich Stone Giant, Stonetrip i ich Shiva3D, itd). Oprócz tego demka powstają też jako reklamówki middleware'ów (Havok, Euphoria, Enlighten, Lightsprint, Image Metrics, SpeedTree, APEX, 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. 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. ;)

empeck

  • Gość
Odp: SSAO w IL2:CoD i innych grach
« Odpowiedź #31 dnia: 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.

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

Szkoda...

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

Offline Sorbifer

  • *
  • OstBlock. Tu i Teraz.
Odp: SSAO w IL2:CoD i innych grach
« Odpowiedź #34 dnia: 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?
Sorbifer.
OstBlock.
Kiepsky.

Offline Sundowner

  • *
  • Chasing the sunset
Odp: SSAO w IL2:CoD i innych grach
« Odpowiedź #35 dnia: 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.

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

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

empeck

  • Gość
Odp: SSAO w IL2:CoD i innych grach
« Odpowiedź #38 dnia: 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ść.

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

Offline janweg

  • *
  • Świętoszek
Odp: SSAO w IL2:CoD i innych grach
« Odpowiedź #40 dnia: 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.

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