Normalne powierzchni i usuwanie powierzchni ukrytych

Istnieje kilka czynności często wykonanych, aby przyspieszyć proces renderingu.

Aby maksymalnie skrócić czas potrzebny na renderowanie modelu, zazwyczaj usuwa się powierzchnie niewidoczne lub ukrywa obiekty położone poza zasięgiem kamery.

Każda powierzchnia w modelu jest zbudowana z płaszczyzn. Powierzchnie są albo trójkątne, albo czworokątne; każda powierzchnia ma jedną stronę skierowaną do wewnątrz, a drugą na zewnątrz. Kierunek, który wskazuje powierzchnia, jest zdefiniowany przez wektor nazywany normalną. Kierunek normalnej wskazuje przednią lub zewnętrzną powierzchnię płaszczyzny.

Normalne powierzchni określają kierunek odbicia i ugięcia (współczynnik załamania światła) światła. Jeśli kamera znajduje się za powierzchnią, ta powierzchnia będzie niewidoczna dla kamery, ale w dalszym ciągu będzie przetwarzana przez moduł renderowania w zakresie odbijania światła i rzucania cieni.

W przypadku, kiedy jest widoczny otwór, oznacza to zwykle fizyczny brak powierzchni w modelu lub zwrócenie powierzchni w stronę od kamery.

Jeśli powierzchni brakuje, należy ją zrekonstruować ręcznie. Dla obiektów narysowanych za pomocą polecenia 3WPOW kierunki normalnych są określane zgodnie z regułą prawej dłoni układu współrzędnych: jeśli powierzchnie są rysowane przeciwnie do ruchu wskazówek zegara, normalne wskazują na zewnątrz; jeśli powierzchnie są rysowane zgodnie z ruchem wskazówek zegara, normalne wskazują do wewnątrz. Użytkownik powinien rysować ścianki w jednakowy sposób.

Uwaga: Normalne na obiektach brył są zwykle poprawnie zorientowane, co może być pomocne przy tworzeniu modeli do renderowania.

Podczas renderowania wyszukiwane są wszystkie normalne, które nie są skierowane w kierunku punktu obserwacji, a z prezentacji usuwane są skojarzone z nim powierzchnie. Ten krok usuwania jest nazywany usuwaniem tylnych powierzchni.

Po usunięciu tylnych powierzchni moduł renderowania używa Z bufora do porównania względnych odległości względem osi Z. Jeśli bufor Z wskaże, że jedna powierzchnia pokrywa się z drugą, moduł renderowania usuwa powierzchnię, która mogłaby być niewidoczna. Oszczędzony czas jest proporcjonalny do liczby powierzchni niewidocznych, odrzuconych z ogólnej liczby renderowanych powierzchni.

Renderowane są wszystkie obiekty znajdujące się w prezentacji, nawet obiekty pozostające poza zasięgiem kamery, których nie zamierzano pokazywać w renderowanym widoku. W modelu, który ma być renderowany, należy dbać o prawidłowe zarządzanie warstwami. Wyłączając warstwy zawierające obiekty, których nie ma w bieżącym widoku, można znacznie przyspieszyć renderowanie.