2010-03-11 10 views

Odpowiedz

35

W jest czwartą współrzędną trójwymiarowego wierzchołka; Ten wierzchołek nazywa się homogeniczną współrzędną wierzchołka.

W kilku słowach element W jest czynnikiem, który dzieli pozostałe komponenty wektora. Gdy W wynosi 1,0, homogeniczne współrzędne wierzchołków są "znormalizowane". Aby porównać dwa wierzchołki, powinieneś znormalizować wartość W do 1,0.

Pomyśl o wierzchołku (1,1,1,1). Teraz zwiększ wartość W (w> 1.0). Znormalizowana pozycja to skalowanie! i idzie do źródła. Pomyśl o wierzchołku (1,1,1,1). Teraz zmniejsz wartość W (W < 1.0). Znormalizowana pozycja idzie w nieskończony punkt.

Oprócz skalowania współrzędnych wierzchołków, potrzebna jest współrzędna W, ponieważ macierz 4x4 (widok modelu i/lub matryce projekcyjne) należy zmultiplikować z macierzą 4x1 (wierzchołkiem).

Oczywiście, Red Book jest definitywna przewodnik:

Red Book Appendix

+7

dlaczego miałoby to być avlue nigdy nie 1? – anon

+4

@on: w skrócie, ponieważ macierz projekcji zmienia jej wartość. Spójrz na Dodatek, który Luca wskazuje w dolnej części. typowa projekcja ma w_out = -z_in. Dlatego ludzie czasami nazywają to "dzieleniem perspektywy". – Bahbar

+5

@anon, od [tego wątku] (http://www.opengl.org/discussion_boards/showthread.php/170202-GLSL-Why-is-gl_Vertexa-a-cc4) są dwie wspólne wartości, w = 1 dla a ** punkt **, a w = 0 dla ** wektora **. – Air