Usuwanie niewidocznych powierzchni: Różnice pomiędzy wersjami

[wersja przejrzana][wersja przejrzana]
Usunięta treść Dodana treść
czego ten termin dotyczy
Linia 5:
Poniżej wymieniono kilka powszechnie znanych metod.
 
== Viewing frustum culling ==
Odrzucanie obiektów znajdujących się poza ''bryłą widzenia'' - model wirtualnej kamery definiuje bryłę widzenia (najczęściej jest to ostrosłup ścięty o podstawie prostokątnej lub prostopadłościan), w którego objętości znajdują się obiekty widoczne w danym rzucie. Aby przyspieszyć proces kwalifikowania obiektów organizuje się scenę w hierarchiczny sposób, "zamykając" całość w drzewie [[drzewo ósemkowe|ósemkowym]], [[drzewoBinary BSPspace partitioning|BSP]], [[drzewo kd|kd]] itp.
 
Ta metoda zwykle służy do odrzucenia obiektów, które z pewnością '''nie są widoczne''' - jest pierwszym etapem dla innych metod.
 
[[Plik:View_frustum_cullingView frustum culling.svg|frame|center|1) bryła widzenia (view frustum), 2) częściowo widoczny obiekt, 3) niewidoczny obiekt, 4) całkowicie widoczny obiekt]]
 
== Occlusion culling ==
Określanie, które obiekty (lub części obiektów) są zasłaniane przez inne obiekty, bliższe obserwatora. Jest to metoda dość skomplikowana, ponieważ wraz z przemieszczaniem obserwatora, cały czas zmieniają się zależności przesłaniania obiektów. Occlusion culling doskonale sprawdza się w sytuacjach gdy obserwuje się duże fragmenty sceny (np. wizualizacja terenów) lub gdy scena zawiera bardzo dużo szczegółów (np. plany instalacji w fabrykach, na statkach)
 
[[Plik:Occlusion culling example PL.svg|frame|center|Obiekty niebieskie to jedyne widoczne (jeden w całości, jeden częściowo) na scenie - obiekty znajdujące się za nimi nie są widoczne i nie muszą być rysowane. Na szaro zaznaczono obszary zasłonięte przez obiekty widoczne.]]
 
== Backface culling - odrzucanie tylnych ścian ==
Gdy obiekty na scenie zbudowane są z wielokątów oraz określi się, że "przód" wielokąta znajduje się na zewnątrz bryły, natomiast "tył" od wewnątrz (kierunek wyznacza [[wektor normalny|normalna]] wielokąta), wówczas nie ma potrzeby wyświetlania powierzchni skierowanych "tyłem" do obserwatora. Metoda jest bardzo prosta i szybka, pozwala odrzucić zwykle dużą część wielokątów, nie daje jednak w ogólnym przypadku gwarancji, że rzeczywiście wszystkie niewidoczne wielokąty nie zostaną wyświetlone; jedynie dla [[bryłazbiór wypukławypukły|brył wypukłych]] metoda ma pełną skuteczność.
 
Odrzucanie tylnych ścian jest odpowiedzialne za częsty efekt w [[Gra komputerowa|grach komputerowych]], kiedy przypadkiem kamera znajdzie się wewnątrz jakiegoś obiektu, zamiast widoku jego wnętrza, obiekt całkiem znika (wszystkie widoczne wielokąty znajdują się z tyłu).
Linia 24:
Ta metoda niekoniecznie nadaje się do wyświetlania obiektów półprzezroczystych.
 
== Inne metody ==
* [[bufor Z]]
* [[algorytm malarza]]