Advertisement
Guest User

Untitled

a guest
Mar 18th, 2019
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.35 KB | None | 0 0
  1. https://www.chip.pl/2019/03/ray-tracing-uruchomimy-takze-na-kartach-amd/
  2.  
  3. > By uzyskać efekt śledzenia promieni Crytek wykorzystał rozwijaną przez siebie od pewnego czasu wersję technologii Global Illumination, nazwaną Total Illumination.
  4.  
  5. Nie ma czegoś takiego jak "technologia Global Illumination". GI to po prostu termin w grafice komputerowej oznaczający globalne oświetlenie. Jest to de facto zbiorcza nazwa na całą grupę różnych algorytmów.
  6. Można to zrealizować na wiele różnych sposobów, m.in. poprzez mapy fotonowe, radiosity (metoda energetyczna), MLT (Metropolis Light Transport), path tracing, ray tracing, Voxel-based Global Illumination, itd. To właśnie ta ostatnia technika renderingu została wykorzystana tutaj. Należy przy tym jasno zaznaczyć, że nie może być tu mowy o pełnoprawnym raytracingu (nawet jeśli chodzi o same refleksje w ramach GI, bo do tego to się właściwie sprowadza), gdyż już na wstępie oszukujemy poddając całą geometrię wokselizacji.
  7. Nie jest to też żadna nowość. NVIDIA zaprezentowała swoje rozwiązanie tego typu jeszcze w 2013 roku. Wykorzystała do tego układy Maxwell, m.in. GeForce GTX 970 i GeForce GTX 980 (oczywiście już w 2014). Fabrycznie nowe karty graficzne bazujące na tym pierwszym można obecnie nabyć za około 600 zł. Nie było przy tym żadnych technicznych ograniczeń co do uruchamiania tego na konkurencyjnych GPU. Początkowo to rozwiązanie tworzone z myślą o DirectX 11 zaś obecnie jest dostępne również dla DirectX 12, OpenGL 4 i Vulkan.
  8. W każdym razie Voxel-based Global Illumination zdążyło się już zadomowić w silnikach gier. Powstały różne rozszerzenia, chociażby SEGI (Fully Dynamic Global Illumination) dla Unity czy NVIDIA VXGI (Voxel Global Illumintaion) dla UE4 (Unreal Engine 4). Nie jest to też nowość w CryEngine. Tam nazywa się to SVOGI.
  9. Żeby nie było tak różowo, wszystkie te rozwiązania mają pewne ograniczenia. W CryEngine ich lista jest całkiem spora, jednak nie ma sensu tutaj tego wszystkiego wymieniać. Przykładowo mogę podać, że GI nie działa na niektórych komponentach cieniowanych naprzód (forward rendering/shading) jak cząsteczki czy woda a roślinność generowana proceduralnie nie rzuca wtórnych cieni. Co gorsza, po przeniesieniu do innej lokacji nieraz trzeba czekać nawet kilka sekund aby okluzja zaczęła działać prawidłowo, zaś w przypadku obiektów dynamicznych odbijanie światła pośredniego działa tylko na obszarach w pobliżu zwokselizowanej geometrii statycznej (static geometry). W każdym razie, o ile światło rozproszone (diffuse GI) nie stanowi większego problemu (działa naprawdę nieźle, dając o niebo lepsze efekty niż SSAO, a przy tym nie obciążając zbytnio komputera), to tego samego nie możemy już powiedzieć o świetle lustrzanym (specular lighting). W CryEngine jest ono domyślnie w ogóle niedostępne. Dopiero po aktywowaniu Total Illumination w Experimental Features/Lighting możemy zmienić tryb Integration Mode na Full GI mode, oznaczony w dokumentacji jako "bardzo eksperymentalny" (w oryginale "very experimental"). Dzięki temu ambient specular lighting będzie przetwarzane przez voxel cone tracing. Jak można się domyślić, nie działa to najlepiej a ponadto narzucone ograniczenia są jeszcze bardziej bolesne. Przede wszystkim dynamiczne obiekty nie mają wpływać tutaj na GI (ale rzecz jasna mogą je przyjmować). Trzeba przy tym jasno zaznaczyć, że chociaż mowa o świetle zwierciadlanym, to o lustrach z wykorzystaniem tego nie może być mowy. Nie wgłębiając się w szczegóły, to z pewnością nie będzie możliwie w najbliższej przyszłości: ani za rok, ani nawet za 5 lat. To co da się za sprawą tego osiągnąć to rozmyte odbicia na posadzce, blacie czy karoserii, ale jak już wspomniałem, działanie tego nadal jest dalekie od ideału. Coś śmieszniejsze, w konkurencyjnym NVIDIA VXGI dla UE4 tryb Full GI ze specular lighting jest domyślnie dostępny od lat, chociaż i tam jego działanie pozostawia nieco do życzenia. Jak można się domyślić, rozwiązanie wykorzystujące NVIDIA RTX jest tutaj o poziom wyżej.
  10. W tym miejscu warto odnieść się do wspomnianego filmu, w którym przecież w kilku momentach mamy do czynieniem z szeregiem luster (0:55, 1:15). Twórcy zarzekali się przy tym, że nie korzystają z SSR (Screen Space Reflection). Jedynym logicznym wytłumaczeniem jest użycie czegoś na wzór planar reflections znanego z Unity i UE4, które można stosować do płaskich powierzchni. PR wymaga jednak ponownego renderowania całej sceny, co jak łatwo się domyślić jest niezwykle kosztowne a przez to jego zastosowanie musi być siłą rzeczy mocno ograniczone. Jest to praktycznie to samo co było dotychczas wykorzystywane w grach i z raytracingiem nie ma absolutnie nic wspólnego. Dlatego też śmiem twierdzić, że film jest po części manipulacją, gdyż jego twórcy żerują na niewiedzy oglądających, którzy w większości nie wiedzą co jest efektem Voxel-based Global Illumination i na co właściwie powinni zwracać uwagę. Nawet i bez tego, entuzjazm co poniektóry jest moim zdaniem mocno przesadzony. Wszak jedyne co dotychczas otrzymaliśmy to zwykły film, w którym Panowie z Cryteka przedstawiają nam tylko to co chcą nam pokazać i nic więcej. Mamy idealnie wyreżyserowany film przypominający materiały propagandowe. Gdybyśmy dostali do własnych rąk grywalne demo ze swobodną pracą kamery to co innego, ale jak widać z pewnych względów autorzy wcale nie chcą się nim z nami podzielić. Już sam ten fakt powinien spowodować zapalenie się lampki w głowie. Na koniec dodam, że aby wypróbować zachwalane możliwości silnika wcale nie musimy na nic czekać. W opisie filmu co prawda była mowa o wykorzystaniu eksperymentalnych funkcji, co oczywiście nawiązuje do wspomnianego przeze mnie trybu Full GI zapewniającego specular lighting dla Voxel-based Global Illumination, ale to wszystko w ramach silnika CryEngine 5.5, który miał swoją premierę we wrześniu ubiegłego roku, czyli prawie pół roku temu. To nie jest więc coś co się dopiero ukaże, ale jest publicznie dostępne tu i teraz. Gdyby dziennikarze prezentowali bardziej krytyczne podejście i spróbowali nieco poeksperymentować na własną rękę to mogliby się nieźle rozczarować, bo w rzeczywistości wcale nie wygląda to tak idealnie jak jest to przedstawione w NEON NOIR.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement