Ray casting

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

Ray casting to technika renderowania fotorealistycznych scen 3D. Jest to bardzo uproszczona wersja Ray tracingu. Z tego względu jest dużo szybszą metodą, ale daje gorsze rezultaty.

Algorytm:

  1. Wyprowadzenie promienia z kamery w kierunku rzutni (najczęściej równoważna ekranowi).
  2. Znalezienie pierwszego punktu przecięcia z obiektem ze sceny.
  3. Ustalenie jasności punktu na podstawie wektora normalnego płaszczyzny, do której należy punkt, pierwotnego koloru punktu oraz odcinka: (kamera, punkt). Dokładniej punkt jest tym bardziej jasny, im kąt między wektorem normalnym a odcinkiem (kamera, punkt) jest mniejszy.

Nie jest to zgodne z rzeczywistością, gdyż nie uwzględnia się tu prawa odbicia („kąt padania = kąt odbicia”). Więc punkt jest tym jaśniejszy, im odcinek (kamera, punkt) leży „bliżej” prostej odbicia, gdzie „bliżej” oznacza mniejszy kąt i mniejszą odległość od prostej.

W odróżnieniu od ray tracingu tu nie uwzględnia się promienia (źródło światła, punkt), a więc nie powstają cienie rzucane przez inne obiekty.

Ray casting 2D wykorzystywany m.in. w Doom, Wolfenstein 3D potrafi omiatać tylko ściany pionowe. W Doom źródło światła nie było punktowe lecz padało z pewnej strony (poziomej). W takim wypadku wystarczy "puszczać" po jednym promieniu na każdą kolumnę rzutni, gdyż światło nie zależy tu od wysokości.