Autor Wątek: Cry Engine 2  (Przeczytany 18057 razy)

Offline Riddlemaster

  • Użytkownik
    • Moja strona domowa

# Luty 21, 2008, 11:40:33
Cytuj
A skoro juz tak sypiesz linkami to moze masz cos ciekawego na temat wyswietlania tak duzej ilosci geometrii z zadowalajaca iloscia klatek? Crysis nie zamyka swiata w zadnych boxach, tech5 (nie jestem pewien) tez nie, unreal engine 3 (tez nie jestem pewien) tak samo, a obiektow jest naprawde sporo.
Na pewno streaming, paging i tego typu rozwiązania, żeby nie trzymać tego wszystkiego na raz. Do tego można zrobić clip-mapping (dla tekstur nazywa się to Mega-Texturingiem ;) , dla geometrii chyba na razie nie powstała oddzielna nazwa) + oczywiście LOD wszystkiego co się da (łącznie z shaderami).

Skovron - to o czym piszesz jest dosyć powszechne ;)

Cytuj
Heightmapa jest zdaje się podzielona na jakieś sektory (ciekawe jak je dopasowują do siebie?).
Jest kilka rozwiązań: zastosować skirt, tak żeby nie widać przerwy pomiędzy tile'ami o różnym poziomie szczegółowości lub np. zastosować spreparowane index buffery, które do siebie pasują (jak np. http://www.gamasutra.com/features/20061221/dallaire_01.shtml - jest to rozwinięcie koncepcji Snooka z Perełek Programowania Gier tom 2).

Cytuj
Co jakiś czas ukazują się jakieś dokumenty opisujące niektóre techniki ale tylko ogólnie.
Niestety. Crytek dość pilnie strzeże swoich sekretów, choć np. SSAO rozgryziono ;)

RageX: często jest po prostu tak, że powstaje model matematyczny zagadnienia (zwykle bardzo skomplikowany). Później naukowcy go implementują na jakimś kosmicznym sprzęcie. Następnie jakiś maniak często powiązany z nvidią lub ATI dokonuje aproksymacji modelu i po kilku latach, gdy sprzęt jest dostatecznie potężny rozwiązanie wchodzi do użytku w grach :) Niemal wszystkie stosowane efekty są dużo starsze niż się to wydaje. Przykładowo popularny ostatnio deferred shading został wymyślony (choć w nieco innej formie) w roku 1988. Do użytku codziennego zaczyna wchodzić po 20 latach...

Offline Mr. Spam

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

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Luty 21, 2008, 13:43:53
Cytuj
SSAO rozgryziono ;)
SSAO? Co to za dziwadło? :)

Offline Riddlemaster

  • Użytkownik
    • Moja strona domowa

# Luty 21, 2008, 13:47:22
Screen Space Ambient Occlussion ;) Takie prawie jak dynamiczne ao.
Link: http://rgba.scenesp.org/iq/computer/articles/ssao/ssao.htm

Offline skovron

  • Użytkownik
    • Healthbar Games

# Luty 21, 2008, 16:40:16
@Riddlemaster
Wiem, że to powszechne techniki, sam niektóre stosuje. Może źle zostałem zrozumiany. Nie pytałem jakie są sposoby, tylko czy domyślacie się, z jakich korzysta CryEngine.

Po prostu lubię wiedzieć z czego korzystają najlepsi :).

Wracając do tematu. Jednym z filmików, chyba któryś z braci założycieli, chwalił się, że zlecili jakiemuś studiu graficznemu realizację filmiku mającego prezentować grę. Kazali im poszaleć z motion blurem, DOFem itd... i zapowiedzieli, że zrobią to samo w czasie rzeczywistym. Było trochę śmiechu ale chyba im się udało.

Offline yarpen

  • Użytkownik

# Luty 21, 2008, 16:41:22
CryEngine nie ma zadnych specjalnych technik okreslania widocznosci, tam jest b. duzo geometrii renderowanej. Wiekszosc optymalizacji dotyczy samego renderowania.

Offline skovron

  • Użytkownik
    • Healthbar Games

# Luty 21, 2008, 18:37:54
CryEngine nie ma zadnych specjalnych technik okreslania widocznosci, tam jest b. duzo geometrii renderowanej. Wiekszosc optymalizacji dotyczy samego renderowania.

Oj chyba jednak ma. W jednym z filmików, facet prezentujący możliwości edytora, pokazywał w trybie wireframe jak kawał kloca na bieżąco "wycina" to co się za nim znajduje, miedzy innymi kawał terenu.
No chyba, że sens twojej wypowiedzi jest taki, że techniki określania są ale nie żadne specjalne.

Offline Riddlemaster

  • Użytkownik
    • Moja strona domowa

# Luty 21, 2008, 18:49:14
Cytuj
Oj chyba jednak ma. W jednym z filmików, facet prezentujący możliwości edytora, pokazywał w trybie wireframe jak kawał kloca na bieżąco "wycina" to co się za nim znajduje, miedzy innymi kawał terenu.
Nie pamiętam takiego filmiku ale może chodzić o jakiś rodzaj usuwania elementów zasłoniętych przez inne. Ale nawet jeśli, to nie jest to nic unikatowego.

Ogólnie CryEngine to nic specjalnego ;) Większość efektów i rozwiązań była już znana wcześniej, choć nie wszystkie wykorzystywane w grach. Oni po prostu zaimplementowali wszystko co się tylko dało i zrobili to na dodatek w sposób dobry.

Offline prophet

  • Użytkownik

# Luty 21, 2008, 19:14:14
Ogólnie CryEngine to nic specjalnego ;) Większość efektów i rozwiązań była już znana wcześniej, choć nie wszystkie wykorzystywane w grach. Oni po prostu zaimplementowali wszystko co się tylko dało i zrobili to na dodatek w sposób dobry.

Przyjmujac takie kryteria, ktory engine ma "cos specjalnego"? :)

Offline SauRooN

  • Użytkownik

# Luty 21, 2008, 22:04:48
Przyjmujac takie kryteria, ktory engine ma "cos specjalnego"? :)
W praktyce żaden. Dobre silniki różnią się od siebie architekturą, wydajnością różnych elementów, zestawem narzędzi, wygodą używania i rozszerzalnością.

Offline Khaine

  • Użytkownik

# Luty 22, 2008, 00:57:42
Cytuj
Oj chyba jednak ma. W jednym z filmików, facet prezentujący możliwości edytora, pokazywał w trybie wireframe jak kawał kloca na bieżąco "wycina" to co się za nim znajduje, miedzy innymi kawał terenu.
Moze zanizam poziom, ale taki algorytm to jest naprawde cos. Wycinanie geometrii w czasie rzeczywistym(!) to nie jest latwa sprawa. Macie pomysl jak np. obciac postaci kawalek reki bo jest akurat zaslaniana?

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Luty 22, 2008, 01:26:07
Moze zanizam poziom, ale taki algorytm to jest naprawde cos. Wycinanie geometrii w czasie rzeczywistym(!) to nie jest latwa sprawa. Macie pomysl jak np. obciac postaci kawalek reki bo jest akurat zaslaniana?
Użyj scissor test'u. Albo early z-testu. ;) Jeżeli chcesz robić to dokładniej, to robienie tego zbyt dokładnie nie ma większego sensu. We wspomnianym filmiku (też go widziałem) teren był podzielony na kafelki i znikał całymi kaflami.

Offline mINA87

  • Użytkownik

# Luty 22, 2008, 01:36:12
A co to za problem z wycinaniem geometrii w czasie rzeczywistym?
CSG/voxel engine/"poxel" engine + sprytne mapowanie proceduralne...
http://www.ogre3d.org/phpBB2/viewtopic.php?t=27394&highlight=destructable
Teraz można myśleć o zabawie w CSG na GPU dzięki SM4.0 - Stream Out + GS.

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Luty 22, 2008, 01:39:31
Cytuj
A co to za problem z wycinaniem geometrii w czasie rzeczywistym?
W pytaniu chodziło o occlusion culling, a nie o modyfikacje geometrii. :)

Offline mINA87

  • Użytkownik

# Luty 22, 2008, 01:46:45
Cytat: Krzysiek K.
W pytaniu chodziło o occlusion culling, a nie o modyfikacje geometrii.
O, RLY?

Cytuj
Oj chyba jednak ma. W jednym z filmików, facet prezentujący możliwości edytora, pokazywał w trybie wireframe jak kawał kloca na bieżąco "wycina" to co się za nim znajduje, miedzy innymi kawał terenu.
Moze zanizam poziom, ale taki algorytm to jest naprawde cos. Wycinanie geometrii w czasie rzeczywistym(!) to nie jest latwa sprawa.
A dopiero później:
Macie pomysl jak np. obciac postaci kawalek reki bo jest akurat zaslaniana?
Co jednak rozpatrywałbym w kontekście modyfikacji geometrii :)

A o occlusion było - na poprzedniej stronie :)

Offline Khaine

  • Użytkownik

# Luty 22, 2008, 01:52:06
hmm, no ja niestety filmiku nie widzialem (ma ktos link? :)). Dlatego pomyslalem, ze oni wierzcholki usuwali na zasadzie LOD.