Śledzenie promieni

Z Wikipedii, wolnej encyklopedii
(Przekierowano z Ray Tracing)
Przejdź do nawigacji Przejdź do wyszukiwania
Scena wygenerowana metodą śledzenia promieni, w której wszystkie obiekty odbijają światło

Śledzenie promieni, wsteczne śledzenie promieni (ang. ray tracing, backward raytracing) – technika generowania fotorealistycznych obrazów scen trójwymiarowych opierająca się na analizowaniu tylko tych promieni światła, które trafiają bezpośrednio do obserwatora. W rekursywnym śledzeniu promieni bada się dodatkowo promienie odbite, zwierciadlane oraz załamane. Ponadto umożliwia łatwą realizację CSG, a także wizualizację idealnych, opisywanych formułami matematycznymi obiektów. Odwrotne podejście do techniki śledzenia promieni realizuje metoda prostego śledzenie promieni (ang. forward raytracing).

Renderowanie (od ang. rendering) – przedstawienie informacji zawartych w dokumencie elektronicznym w formie najbardziej właściwej dla danego środowiska (np. wizualnie, w tym na ekranie i w druku, czy dźwiękowo). Mechanizm odpowiedzialny w programie komputerowym za renderowanie nazywa się mechanizmem renderującym (ang. rendering engine, czasem silnik renderujący) lub rendererem (z ang.).Odbicie lambertowskie – odbicie rozproszone przez idealnie matową powierzchnię, opisane prawem Lamberta. Jest stosowanym w grafice komputerowej modelem oświetlenia powierzchni matowych (takich jak papier, kreda) przez światło punktowe. Było badane przez J.H. Lamberta w 1760 roku.

Metoda mimo uproszczonego modelu interakcji światła z otoczeniem daje bardzo dobre rezultaty, jednak ze względu na koszty obliczeniowe przez wiele lat jej wykorzystanie limitowała moc obliczeniowa komputerów, które były dostępne tylko dla dużych firm, głównie z branży filmowej. Współczesne komputery osobiste są w stanie bez problemu generować obrazy tą metodą i dostępne są komercyjne oraz darmowe programy (POV-Ray, Blender, 3ds Max, Maya, LightWave 3D, PYTHA).

Bryła obrotowa – bryła geometryczna ograniczona powierzchnią powstałą z obrotu figury płaskiej dookoła prostej (osi obrotu). Do brył obrotowych zaliczane są m.in.:Komputer osobisty (ang. personal computer) – mikrokomputer przeznaczony przede wszystkim do użytku osobistego w domu i biurze. Służy głównie do uruchamiania oprogramowania biurowego, dostępu do zasobów Internetu, prezentacji treści multimedialnych (tekst, obrazy, dźwięki, filmy i inne), jak i gier.

Algorytm[ | edytuj kod]

 Zapoznaj się również z: algorytm.
Sposób określania barwy piksela w śledzeniu promieni

Algorytm śledzenia promieni wygląda następująco:

  1. Z punktu w którym znajduje się obserwator wyprowadzany jest promień pierwotny, który przecina rzutnię.
  2. Wyszukiwany jest najbliższy punkt przecięcia z obiektami znajdującymi się na scenie.
  3. Następnie dla każdego źródła światła zdefiniowanego na scenie wyznaczana jest jasność w tym punkcie, zgodnie z określonym modelem oświetlenia (np. Lamberta czy Phonga).
    Najczęściej także określa się cienie – w tym celu jest testowana widoczność źródła światła z danego punktu, tj. czy światło nie jest przesłaniane przez jakiś obiekt i jeśli nie – dopiero wtedy oblicza się jasność punktu dla tego źródła.

W algorytmie rekurencyjnym dodaje się jeszcze jeden warunek:

Rekurencja, zwana także rekursją (ang. recursion, z łac. recurrere, przybiec z powrotem) to w logice, programowaniu i w matematyce odwoływanie się np. funkcji lub definicji do samej siebie.Ambient occlusion – metoda cieniowania powierzchni obiektów przestrzennych używana w grafice trójwymiarowej. Technika ta szacuje stopień zacienienia lub, mówiąc inaczej, wystawienia danej powierzchni na rozproszone światło otoczenia (tzw. światło ambientowe). Ambient occlusion pozwala na relatywnie szybkie imitowanie realistycznego wyglądu powierzchni bez zastosowania jednego z ciężkich obliczeniowo algorytmów oświetlenia globalnego.
Jeśli punkt przecięcia należy do obiektu odbijającego światło lub przezroczystego, wysyłane są z tego punktu promienie wtórne – odpowiednio, promień odbity lub promień załamany – i algorytm rekursywnie powtarza się od drugiego kroku (w większości programów można ograniczyć liczbę zejść rekurencyjnych). Kolor punktu wyznaczany jest, dopiero gdy znane są wyniki przetwarzania promieni wtórnych; zwykle projektant podaje procentowo wpływ kolorów z promieni wtórnych, tj. określa jak bardzo obiekt odbija/załamuje światło.

Algorytm śledzenia promieni stosuje się dla wszystkich pikseli obrazu; aby uniknąć aliasingu przez jeden piksel przeprowadza się więcej niż jeden promień.

Pryzmat – bryła z materiału przezroczystego o co najmniej dwóch ścianach płaskich nachylonych do siebie pod kątem (tzn. kątem łamiącym pryzmatu).Procesor graficzny, inaczej GPU (ang. Graphics Processing Unit) – jest główną jednostką obliczeniową znajdującą się w nowych kartach graficznych.

Bardzo dużą zaletą tej metody jest łatwość przeprowadzenia obliczeń równoległych, gdyż każdy promień pierwotny może być przetwarzany niezależnie od innych; podobnie promienie wtórne są od siebie niezależne.

Obecnie śledzenie promieni implementuje się również w procesorach graficznych uzyskując obrazy w czasie rzeczywistym (kilkanaście-kilkadziesiąt klatek na sekundę).


Maya to profesjonalny pakiet do tworzenia grafiki i animacji trójwymiarowej. Jest jednym z podstawowych programów tego typu używanych przy tworzeniu efektów specjalnych w przemyśle filmowym. Może być również używany do tworzenia modeli do gier 3D, animacji flash i innych.Path tracing – komputerowa metoda Monte Carlo tworzenia fotorealistycznych obrazów scen trójwymiarowych, w której analizowane są losowo wybrane ścieżki promieni światła. Analizując dostatecznie dużo różnych promieni możliwe jest wyznaczenie bardzo dobrej aproksymacji globalnego rozkładu światła.

Przykład[ | edytuj kod]

Zasada działania rekursywnego algorytmu śledzenia promieni

Obserwator (kamera) znajduje się w punkcie O, na scenie umieszczone zostały dwa światła L1 i L2 oraz trzy obiekty:

  • a (elipsa): nieprzezroczysty, nie odbija światła,
  • b (koło): przezroczysty, odbija światło,
  • c (prostokąt): tylko odbija światło.
  • Z punktu O wyprowadzany jest promień pierwotny (zielony), który trafia w obiekt b – ponieważ odbija i załamuje światło, toteż z punktu przecięcia wypuszczane są dwa promienie wtórne: odbity (czerwony) i załamany (niebieski). Promień odbity trafia z kolei w obiekt a – tutaj już nie są generowane żadne promienie wtórne. Z kolei promień załamany znów trafia w obiekt b i ponownie ulega załamaniu (tak naprawdę powinien tutaj być jeszcze promień odbity, ale ze względu na przejrzystość rysunku został pominięty). Ten promień trafia w obiekt c, który odbija światło, toteż generowany jest tylko jeden promień wtórny (odbity), który jednak nie przecina się z żadnym obiektem na scenie i na tym kończy się analiza.

    Dyfrakcja (ugięcie fali) to zjawisko fizyczne zmiany kierunku rozchodzenia się fali na krawędziach przeszkód oraz w ich pobliżu. Zjawisko zachodzi dla przeszkód, które mają dowolną wielkość, ale wyraźnie jest obserwowane dla przeszkód o rozmiarach porównywalnych z długością fali.Bryła brzegowa (ang. Bounding volume, objetość ograniczająca) – w komputerowej grafice 3D bryła w uproszczony sposób przedstawiająca jak najmniejszą przestrzeń, w której całkowicie mieszczą się dane obiekty. Używa się ich, np. aby uprościć wykrywanie kolizji oraz sprawdzanie widoczności na ekranie zawartych w nich obiektów, dlatego że na uproszczonych bryłach można dużo szybciej i prościej wykonać testy kolizji.

    Kreskami przerywanymi zaznaczono dodatkowe promienie, służące określeniu widoczności świateł w punktach przecięcia (dla punktów obiektu b te promienie nie zostały narysowane) – jak widać zarówno inne obiekty (b), jak i sam obiekt (a) może blokować światło.

    PYTHA to program komputerowy typu CAD stworzony i udoskonalany przez niemiecką firmę PYTHA Lab. Pozwala on na wykonanie projektu oraz wygenerowanie rysunków technicznych i realistycznej wizualizacji. Program jest dystrybuowany na całym świecie i został przetłumaczony na kilkanaście języków (w tym język Polski).LightWave firmy NewTek jest programem do tworzenia grafiki 3D. LightWave jest wykorzystywany w wielu produkcjach filmowych, reklamach, grach oraz mniejszych pracach. Początkowo program (właściwie to programy, ponieważ oba moduły zostały stworzone niezależnie przez innych programistów) LightWave był dostępny wyłącznie na komputery Amiga potem na platformie Silicon Graphics, a w roku 1995 został przeniesiony na platformę PC oraz Macintosh.


    Podstrony: 1 [2] [3]




    Warto wiedzieć że... beta

    Persistence of Vision Ray-Tracer lub POV-Ray jest programem służącym do ray tracingu dla komputerów z systemami Windows, OS X lub GNU/Linux. Wykorzystywany jest głównie do tworzenia grafiki trójwymiarowej. Program udostępniany jest na zasadzie licencji freeware.
    Obliczenia równoległe – forma wykonywania obliczeń, w której wiele instrukcji jest wykonywanych jednocześnie. Taka forma przetwarzania danych była wykorzystywana przez wiele lat, głównie przy wykorzystaniu superkomputerów, a szczególne zainteresowanie zyskała w ostatnich latach, z uwagi na fizyczne ograniczenia uniemożliwiające dalsze zwiększanie częstotliwości taktowania procesorów. Obliczenia równoległe stały się dominującym wzorcem w architekturze komputerowej, głównie za sprawą upowszechnienia procesorów wielordzeniowych.
    Oświetlenie Phonga i cieniowanie Phonga nie odnoszą się do tego samego pojęcia, choć często są mylone. W tym artykule znajduje się wyjaśnienie obu terminów.
    Drzewo kd (skrót od drzewa k-wymiarowego) – struktura danych używana do dzielenia przestrzeni. Drzewa kd są przydatne w tworzeniu struktur w niektórych zastosowaniach takich jak wyszukiwanie najbliższych sąsiadów lub znajdywanie punktów w prostokątnych obszarach (w czasie O ( n + k ) {displaystyle O({sqrt {n}}+k)} , gdzie n {displaystyle n} to całkowita liczba punktów, k {displaystyle k} - liczba znalezionych punktów).
    Grafika 3D (grafika trójwymiarowa) – nazwa jednej z dziedzin grafiki komputerowej, zajmującej się głównie wizualizacją obiektów trójwymiarowych. Nazwa pochodzi od angielskiego sformułowania Three-Dimensional Graphics.
    Blender – Wolne i Otwarte Oprogramowanie do modelowania i renderowania obrazów oraz animacji trójwymiarowych o niekonwencjonalnym interfejsie użytkownika. Umożliwia także tworzenie prezentacji interaktywnych (np. gier) na własnym silniku graficznym (istnieje osobny program pozwalający uruchamiać takie prezentacje).
    3ds Max (wcześniej 3D Studio Max) – rozbudowany program do tworzenia trójwymiarowej grafiki i animacji stworzonej przez firmę Kinetix, zakupionej następnie przez firmę Discreet, która wydała trzy kolejne wersje programu, aby zostać ostatecznie wcieloną do firmy Autodesk Inc. Pierwsza wersja ukazała się w 1990 roku pod nazwą 3D Studio dla systemu MS-DOS, obecną wersję 3ds Maxa oznaczoną rokiem 2014 (w wersji 16 według dawnego sposobu numeracji) przeznaczono dla środowiska Microsoft Windows.

    Reklama