Jakie są luki w próbkach podczas konwersji skanowania?


9

W tym tutorialu ,

Bardzo często renderowane są trójkąty dzielące krawędzie. OpenGL oferuje gwarancję, że tak długo, jak pozycje wierzchołków wspólnej krawędzi są identyczne, nie będzie żadnych przerw w próbkach podczas konwersji skanowania.

1 Czym dokładnie są luki w próbkach podczas konwersji skanowania?

2 W jakich okolicznościach to się stanie?

3 Czy dzieje się tak, gdy linia przecina środek fragmentu?

Odpowiedzi:


8

Przykładowe luki pojawią się, jeśli nie zrobisz rzeczy „poprawnie”.

W OpenGL lub D3D, zakładając spójną kolejność nawijania, jeśli masz trójkąty ABC i CBD, to kiedy punkt próbny - czyli test podczas konwersji skanowania w celu ustalenia, czy punkt (odczytany piksel) znajduje się w trójkącie - leży dokładnie na wspólna krawędź BC, wtedy ta próbka będzie należeć do dokładnie jednego z tych dwóch trójkątów.

Pozwala to uniknąć luk i podwójnego wypełnienia. To ostatnie byłoby problematyczne, powiedzmy, przeziernością lub operacjami matrycowymi.


2
Na przykład dwa trójkąty z dzielonymi krawędziami mogą idealnie dzielić ten sam piksel na dwa, ale implementacja OpenGL gwarantuje, że tylko jeden z trójkątów pokrywa środek piksela. Który jest zależny od implementacji.
Andreas
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.