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

[wersja przejrzana][wersja przejrzana]
Usunięta treść Dodana treść
m Wycofano edycje użytkownika 94.254.144.25 (dyskusja). Autor przywróconej wersji to Wargo.
Znacznik: Wycofanie zmian
m drobne merytoryczne, drobne redakcyjne
Linia 1:
'''Usuwanie niewidocznych powierzchni''' – w [[grafika 3D|grafice trójwymiarowej]] jeden z pierwszych etapów poprzedzających wyświetlanie obrazów, w którym określa się, które z obiektów umieszczonych na [[Scena (3D)|scenie]] są w danym rzucie widoczne (w całości lub tylko częściowo).
 
Jest to bardzo ważne zagadnienie 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 niewielki fragment sceny, a zatem widoczny jest niewielki odsetek całościwszystkich obiektów. DlategoZ tego też względu nie ma potrzeby, aby w ogóle przeznaczać czas i pamięć na przetwarzanie niewidocznych obiektów.
 
Poniżej wymienionoopisanych jest 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 [[Rzut (geometria)|rzucie]]. Aby przyspieszyć proces kwalifikowania obiektów organizuje się scenę w hierarchiczny sposób, "zamykając"„zamykając” całość w drzewie [[drzewo ósemkowe|ósemkowym]], [[Binary space 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 culling.svg|frame|center|1) bryła widzenia (view frustum), 2) częściowo widoczny obiekt, 3) niewidoczny obiekt, 4) całkowicieobiekt widoczny obiektw całości]]
 
== Occlusion culling ==
Określanie, które obiekty (lub części obiektów) są zasłaniane przez inne obiekty, bliższeznajdujące się bliżej 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ówterenu) lub gdy scena zawiera bardzo dużo szczegółów (np. plany instalacji w fabrykach, czy 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.]]