Dość iluzji, Microsoft otworzył drogę do fotorealizmu w grach na Windows 10

Dość iluzji, Microsoft otworzył drogę do fotorealizmu w grach na Windows 1020.03.2018 15:05
PICA PICA z demo SEED, źródło Electronic Arts

Grafika trójwymiarowa z którą obcujemy w grach komputerowych totylko iluzja. Przechowywany w pamięci trójwymiarowy świat jestrysowany na dwuwymiarowym ekranie poprzez rasteryzację,odwzorowanie prymitywów 3D na płaszczyznie poprzez macierzetransformacji. Robi się przy tym wszystko, by rysować tylko to, cobędzie ostatecznie widoczne – i przez długie lata taka iluzjawystarczyła. Jednak coraz wyższe poziomy realizmu w grach,zapewniane przez nowe techniki graficzne, takie jak mapowanie cieni,mapowanie środowiska, globalne oświetlenie stawiają coraz wyższewymagania mocy obliczeniowej. Są też zasadniczo niezgodne zmetodami rasteryzacji. I właśnie dlatego Microsoft z Nvidią chcąwypróbować w grach coś, co jeszcze do niedawna było technicznieniemożliwe. Do DirectX 12 wprowadzone zostają mechanizmyraytracingu, za sprawą których gry w przyszłości staną się takfotorealistyczne jak to tylko możliwe.

Wpis na oficjalnym DirectX Developer Blog przedstawiaw szczegółach funkcjonalność, która ma być mostem nadprzepaścią między współczesnymi technikami rasteryzacji w gracha efektami 3D w przyszłości. DirectX Raytracing (DXR) pozwala naprzemierzenie całej wewnętrznej trójwymiarowej reprezentacjiświata gry, pozwalając nowoczesnym technikom renderowania grafikina wypełnienie tych luk, które pozostawiają algorytmyrasteryzacji. W konsekwencji możliwe mają stać się zupełnie nowetechniki, nigdy wcześniej nie stosowane w rysowanych w czasierzeczywistym grach.

Co jest nie tak z rasteryzacją?

Algorytmy stosowane w rasteryzacji grafiki 3D działają bardzoefektywnie na procesorach graficznych, ponieważ operacje te możnaprowaadzić równolegle. Obiekty są rzutowane na płaszczyznę przedich pokolorowaniem, a później w niezależnych wątkach możnawykonać pracę związaną z kolorowaniem pikseli na płaszczyźnie.

Rzeczywisty świat tak się jednak nie zachowuje. W świecie kolorjednego obiektu ma wpływ na obiekty dookoła niego, światło wzłożonych sposób odbija się i rozprasza na powierzchniach. Tewszystkie efekty świetlne symuluje się więc, dzięki czemu w grachmamy iluzję odbić, cieni i pośredniego oświetlenia. Oszukiwaćzmysły można jednak tylko do pewnego etapu, większość ekspertówmówi, że większego fotorealizmu w ten sposób już nie da sięuzyskać, po prostu informacja o obiektach 3D w trakcie rasteryzacjiznika.

Jak działa raytracing?

Znana od dziesiątków lat grafikom 3D technika raytracinguodtwarza optykę i geometrię świata. Kolor pikseli wyliczany jestpoprzez śledzenie ścieżki światła, jakie by piksele te zabarwiłoi jego interakcje z matematycznymi modelami powierzchni w wirtualnymświecie. Innymi słowy dzięki raytracingowi wiemy, jak wyglądałbypiksel, gdyby do wirtualnego światła wprowadzić prawdziwe światło.Pojawiają się wtedy odbicia, cienie i pośrednie oświetlenia –nie trzeba stosować żadnych efektów specjalnych.

Experiments with DirectX Raytracing in Northlight

W ten sposób można ustalić kolor każdego piksela, wysyłającw jego stronę promień światła – algorytm wyliczy, który obiektzostanie pierwszy oświetlony i w którym miejscu. Następnieoceniany jest wpływ światła na konkretną powierzchnię, napodstawie jej właściwości fizycznych i to, jak światło odbijesię dalej, do kolejnych obiektów, gdzie ponownie przeprowadzasię obliczenia reakcji i odbić.

Cztery nowe koncepcje w starym DirectX 12

Nowy interfejs DirectX 12, DirectX Raytracing wprowadza czterynowe koncepcje do biblioteki graficznej Microsoftu. Są to:

  • Struktura akceleracji, czyli obiekt przedstawiający środowisko3D w formacie dogodnym do przeliczania przez GPU, z dwupoziomowąhierarchią, ujmującą zarówno wyliczanie promieni światła jak imodyfikacje świata dynamicznymi obiektami.
  • Nowa metoda listy poleceń, DispatchRays, która wysyła promienieświetlne na scenę, i na poziomie sprzętowym wprowadza obciążeniarobocze na GPU.
  • Nowe typy shaderów (ray-generation, closest-hit, any-hit, miss),które określają, co obciążenie robocze DXR ma robić w kwestiiobliczeń. Po wyliczeniu ścieżki promienia światła wywoływane sąw miejscu zderzenia shadery trafienia i minięcia. Pozwala to grzeprzypisać każdemu obiektowi własny zestaw shaderów i tekstur,tworząc w ten sposób unikalne materiały.
  • Stan potoku raytracingu, odpowiednik obecnie używanego potokustanu obiektów, który zawiera shadery raytracingu i inne danezwiązane z takimi obciążeniami roboczymi.

Jak widać, celowo nie zdecydowano się na wprowadzenie nowegosilnika do DirectX 12, to wszystko działa na już istniejącychsilnikach Graphics i Compute. DXR to po prostu działające na nichnowe środowisko obliczeniowe, które początkowo będzie uzupełniaćobecne techniki renderowania, prowadząc do wzrostu ich jakości, a zczasem zastąpi rasteryzację i stanie się domyślnym sposobemrenderowania grafiki 3D w grach.

PIX: narzędzie do pracy z raytracingiem w DX12
PIX: narzędzie do pracy z raytracingiem w DX12

Nowe API ma być używane już teraz, Windows będzie wspierał jewięc od samego początku. Deweloperzy do pracy nad raytracingiem wgrach mają korzystać z nowego narzędzia PIX, obsługującegoprzechwytywanie i analizowanie ramek zbudowanych przy użyciu DXR.Wśród firm, które zainteresowane są wykorzystaniem tejtechnologii znalazły się m.in. Electronic Arts, Epic Games, Unreali Unity Technologies.

Volta dla gier?

Podczas konferencji GDC Nvidia nie pokazała nowych kartgraficznych, zamiast tego pokazała, jak może wyglądać przyszłośćgier z wykorzystaniem technologii Microsoftu. Demonstracjaprzeprowadzona została na układach graficznych z rodziny Volta,które najwyraźniej jako pierwsze mają wspierać DXR. Dzisiaj z tejrodziny dostępne są na rynku jedynie Titan V oraz akcelerator TeslaV100, ale najwyraźniej w końcu powinniśmy zobaczyć pierwszeskierowane do graczy układy – a nie tylko sprzęt optymalizowanypod kątem trenowania sieci neuronowych.

SEED - Project PICA PICA - Real-time Raytracing Experiment using DXR (DirectX Raytracing)

O tym, że zieloni traktują sprawę poważnie świadczyć musiwprowadzenie obsługi DXR do swojego middleware dla gier, GameWorksSDK. Za jego pomocą deweloperzy już dziś będą mogli korzystać zraytrace’owanych cieni, odbić i przezroczystości. Bez jednaknowej generacji kart GeForce, to wszystko pozostałoby jedynieciekawostką dla nielicznych posiadaczy najnowszego Titana.

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.