Śledzenie promieni to technika renderowania grafiki komputerowej, która tworzy obraz poprzez śledzenie ścieżki promieni w scenie. Promienie mogą wchodzić w interakcje z obiektami w scenie, odbijając się od nich i zyskując właściwości, takie jak kolor.
Ray Tracing: podstawy
Ray tracing emuluje oświetlenie w świecie rzeczywistym. Światło, które widzimy, jest wynikiem fotonów emitowanych ze źródeł energii, takich jak słońce. Fotony mogą odbijać się i rozpraszać, gdy zderzają się z obiektami. Wystarczy lustro, aby zobaczyć to w akcji. Światło uderzające w lustro tworzy odbicie.
Ray tracing to symuluje. Liczba śledzonych promieni jest niewielka w porównaniu z rzeczywistym światem, w którym miliony fotonów odbijają się w naszym polu widzenia. Współczesne gry śledzą od jednego do czterech promieni na piksel. Jednak to wystarczy, aby symulować rzeczywisty świat.
Śledzenie ścieżki promienia pozwala mu również na interakcję ze światem gry. Promień odbijający się od czerwonego obiektu może mieć wpływ na ten kolor, rzucając w pobliżu czerwoną poświatę. Promienie mogą rozpraszać się na różne sposoby w zależności od właściwości, jakie artyści gry nadają obiektom, umożliwiając realistyczne półodblaskowe lub chropowate powierzchnie.
Ray tracing to znaczący krok naprzód w grafice 3D. Tworzy realistyczny obraz, symulując ścieżkę promieni podczas gry. Prowadzi to do oświetlenia, które może wchodzić w interakcje z otoczeniem, nawet gdy otoczenie nie jest widoczne dla gracza. Ray tracing nie wymaga specjalnego sprzętu do działania, ale jest praktyczny tylko na karcie graficznej lub konsoli do gier, która może przyspieszyć ray tracing, ponieważ jest bardzo wymagająca.
Ray Tracing a rasteryzacja (lub grafika 3D, jaką znałeś)
Możesz nadal być zdezorientowany, nawet jeśli rozumiesz to wyjaśnienie. Odbicia były obecne w poprzednich grach, nawet tych sprzed kilkudziesięciu lat. Czym różni się ray tracing?
Wcześniejsze gry 3D i większość nowoczesnych gier używają rasteryzacji. Rasteryzacja łączy elementy świata gry 3D widoczne dla gracza w obraz 2D. Renderuje tylko to, co powinno być widoczne dla gracza, ponieważ każda wydajność wykorzystywana do generowania tego, czego gracz nie widzi, jest marnowana. Stwarza to jednak problem.
Wróćmy do przykładu lustra. Środowisko gracza i postać gracza nie są widoczne dla gracza (przynajmniej w grze pierwszoosobowej). Dzięki rasteryzacji lustro nie ma co odbijać.
Oczywiście lustra istnieją we współczesnych grach. Renderują scenę dwukrotnie. Jedno podanie jest z punktu widzenia gracza, a drugie z innej perspektywy. Podwaja to jednak wydajność potrzebną do renderowania sceny.
Odbicia przestrzeni na ekranie, technika stosowana w popularnych silnikach gier 3D, wykorzystują dane na ekranie do tworzenia odbić. Ta technika jest idealna do powierzchni odbijających światło pod kątem do perspektywy gracza, takich jak woda. Jednak odbite obiekty znikają, jeśli odbity przedmiot przesunie się poza ekran.
Ray tracing nie dzieli tych problemów, ponieważ, w przeciwieństwie do rasteryzacji, może śledzić poza perspektywą gracza.
Ponadto w grach, które pozwalają promieniom na interakcję z powierzchniami, ray tracing może wyświetlać realistyczne rozmycie kolorów i powierzchnie półodblaskowe trudne do rastrowania.
Jakiego sprzętu wymaga ray tracing?
Ray tracing nie jest nowym pomysłem. Informatycy eksperymentowali z ray tracingiem na początku lat 80., tworząc statyczne obrazy z realistycznym oświetleniem, odbiciami i cieniami. Niestety ich renderowanie zajęło wiele godzin.
Gra wideo wymaga śledzenia promieni w czasie rzeczywistym z prędkością 30 klatek na sekundę lub wyższą. Jest to możliwe tylko z kartą graficzną, która przyspiesza ray tracing.
Ray tracing Nvidii RTX opiera się na krzemie zwanym rdzeniem tensorowym. Rdzenie Tensor znajdują się tylko w kartach graficznych RTX. Karty GTX Nvidii mogą renderować grę za pomocą ray tracingu, ponieważ, jak już wspomniano, ray tracing nie wymaga specjalnie skonstruowanego krzemu. Jednak wydajność jest fatalna w porównaniu z kartami RTX. Niektóre gry, takie jak Minecraft z ray tracingiem RTX, wymagają karty graficznej RTX ze względu na specyficzny sposób, w jaki umożliwiają ray tracing.
Karty AMD, które przyspieszają ray tracing, nie mają określonego brandingu i nie mają dedykowanego krzemu. Zamiast tego używają poprawek sprzętowych i aktualizacji oprogramowania, aby uzyskać lepsze wyniki. Trudniej jest zidentyfikować karty AMD, które przyspieszają ray tracing, więc zwracaj uwagę na szczegóły.
Sony PlayStation 5 oraz Xbox Series X i S mają sprzęt graficzny firmy AMD, który może przyspieszyć ray tracing. Jednak to od programistów zależy, a wiele gier tego nie robi. Godnym uwagi przykładem jest Cyberpunk 2077, który w momencie premiery obsługiwał ray tracing RTX na PC, ale nie wspierał ray tracingu na konsolach nowej generacji. Ta funkcja jest obiecana dla konsol nowej generacji w przyszłej łatce.