Usuwanie niewidocznych powierzchni
Z Wikipedii
Usuwanie niewidocznych powierzchni to w komputerowej grafice 3D jeden z pierwszych etapów poprzedzających wyświetlanie obrazów, w którym określa się, które z obiektów umieszczonych na scenie są w danym rzucie widoczne (w całości lub tylko częściowo).
Jest to bardzo ważne ze względu na efektywność generowania obrazów - można wyobrazić sobie, że na scenie umieszczone są setki tysięcy, czy nawet dziesiątki milionów obiektów, ale przeważnie obserwowany jest tylko fragment sceny, a zatem widoczny jest niewielki odsetek całości. Dlatego też nie ma potrzeby, aby w ogóle przeznaczać czas i pamięć na przetwarzanie niewidocznych obiektów.
Poniżej wymieniono kilka powszechnie znanych metod.
Spis treści |
[edytuj] 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 ósemkowym, BSP, 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.
[edytuj] 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)
[edytuj] Backface culling
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 normalna wielokąta), wówczas nie ma potrzeby wyświetlania powierzchni skierowanych "tyłem" do obserwatora. Odrzucanie tych powierzchni jest odpowiedzialne za częsty efekt w grach komputerowych, kiedy przypadkiem kamera znajdzie się wewnątrz jakiegoś obiektu, zamiast widoku jego wnętrza, obiekt całkiem znika (wszystkie widoczne polygony znajdują się z tyłu). Ta metoda niekoniecznie nadaje się do wyświetlania obiektów półprzezroczystych.
Metoda jest bardzo prosta i szybka, nie daje jednak gwarancji, że rzeczywiście wszystkie niewidoczne wielokąty nie zostaną wyświetlone.
[edytuj] Inne metody
- Bufor Z
- Algorytm malarza
- Określanie widoczności z dokładnością pikselową metodą śledzenia promieni.
- Usuwanie tych obiektów, które po rasteryzacji są zbyt małe i praktycznie nic nie wnoszą do finalnego obrazu.