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

[wersja nieprzejrzana][wersja nieprzejrzana]
Usunięta treść Dodana treść
YurikBot (dyskusja | edycje)
red.
Linia 1:
'''Usuwanie niewidocznych powierzchni''' to w [[grafika 3D|komputerowej grafice 3D]] określaniejeden z pierwszych etapów poprzedzających wyświetalnie obrazów, w którym określa się, które [[wielokąt|wielokąty]]z obiektów umieszczonych na scenieniewidocznew danym rzucie widoczne i(w niecałości trzebalub ichtylko wyświetlać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 dzisią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 obiekty.
'''Backface culling'''
 
:Nie ma potrzeby wyświetlania powierzchni skierowanych "tyłem" do obserwatora. Odrzucanie tych powierzchni jest odpowiedzialne za częsty efekt w [[gra komputerowa|grach komputerowych]], kiedy gdy przypadkiem kamera znajdzie się wewnątrz jakiegoś obiektu, zamiast widoku jego wnętrza, obiekt całkiem znika (wszystkie jego polygony są widziane z tyłu). Ta metoda niekoniecznie nadaje się do wyświetlania obiektów półprzezroczystych.
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]], [[drzewo BSP|BSP]], [[kd-tree|kd]] itp,
:[[Ostrosłup widzenia]] (ang. ''view frustum'') opisuje, która część przestrzeni 3D jest aktualnie widoczna. Wszystkie powierzchnie poza ostrosłupem widzenia są odrzucane. Często aby przyspieszyć ten proces, scenę organizuje się w [[drzewo ósemkowe]].
:Ta metoda zwykle służy do określenia, które obiekty z pewnością '''nie są widoczne''' - jest pierwszym etapem dla innych metod.
 
'''Backface culling'''
:NieGdy 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 wyzbacza 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 [[gra komputerowa|grach komputerowych]], kiedy gdy przypadkiem kamera znajdzie się wewnątrz jakiegoś obiektu, zamiast widoku jego wnętrza, obiekt całkiem znika (wszystkie jego polygony są widziane 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.
 
'''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 fragemnty sceny (np. wizualizacja terenów) lub gdy scena zawiera mnóstwo szczegółów (np. plany instalacji w fabrykach, na statkach)
 
Usuwa się także obiekty zasłonięte innymi oraz obiekty zbyt małe i odległe.
 
{{stub}}