Współrzędne świata, znormalizowane współrzędne urządzenia i współrzędne urządzenia

13

Czy mogę poznać różnicę między tymi trzema? Dobry przykład też by się przydał.

Anish Sharma
źródło

Odpowiedzi:

20

Współrzędne świata są podstawą Twojego świata gry. Pozycje 3D wszystkich obiektów są ostatecznie określone w przestrzeni świata, bezpośrednio lub poprzez hierarchię węzłów. Ziemia, budynki, drzewa i inne nieruchome przedmioty zostaną ustalone w przestrzeni świata. Obliczenia i fizyka rozgrywki będą wykonywane w przestrzeni świata (być może z lokalnym wyśrodkowaniem w celach precyzyjnych, jeśli świat jest duży). Osie współrzędnych świata są często przyjmowane do reprezentowania kierunków kompasu, takich jak X = wschód, Y = północ, Z = góra.

Lokalne współrzędne są dołączone do obiektu (dla każdego obiektu jest jedna lokalna przestrzeń współrzędnych). Osie mogą reprezentować coś znaczącego dla obiektu, na przykład X = do przodu, Y = do lewej, Z = do góry dla obiektu, takiego jak znak, pojazd, broń itp., Który ma właściwą orientację. Gdy obiekt się porusza, związek między przestrzenią lokalną a światową (wyrażony przez macierz transformacji) będzie się zmieniał. Na przykład, jeśli przewrócisz samochód do góry nogami, jego lokalna oś Z („w górę” w lokalnej przestrzeni) będzie teraz wskazywała „w dół” w przestrzeni świata.

Aparat lub zobaczyć współrzędne są lokalne współrzędne dołączone do aparatu. Jest to nadal układ współrzędnych 3D, bez projekcji lub czegokolwiek, ale z osiami wyrównanymi w celu dopasowania do orientacji ekranu: zwykle X = w prawo, Y = w górę, Z = do tyłu. Transformacja świata do przestrzeni widzenia jest często nazywana „matrycą widoku”.

Współrzędne przestrzeni wycięcia to współrzędne wyjściowe modułu cieniującego wierzchołki: współrzędne, do których zastosowano matrycę projekcji, ale nie podziały perspektywy. Jest to przestrzeń 4D (jednorodna). (Świat, lokalna i przestrzeń widoku są trójwymiarowe z niejawnym w = 1). Jest tak nazwany, ponieważ jest to przestrzeń, w której odbywa się obcinanie i wygaszanie widoku (przynajmniej koncepcyjnie).

Znormalizowane współrzędne urządzenia , znane również jako „przestrzeń ekranu”, chociaż termin ten jest nieco luźny, to to, co otrzymujesz po zastosowaniu podziału perspektywy na współrzędne przestrzeni klipu. Współrzędne 3D reprezentują teraz pozycje 2D punktów na ekranie, z X i Y w [-1, 1], wraz z głębokością w zakresie bufora głębokości, Z w [0, 1] dla D3D lub [-1, 1 ] dla OpenGL. Orientacja osi jest X = prawa, Y = do góry, a Z może być do przodu lub do tyłu, w zależności od konfiguracji bufora głębokości.

Współrzędne urządzenia to współrzędne piksela 2D w celu renderowania, przy czym (0, 0) w lewym górnym rogu, X = prawo, Y = dół. Dochodzi się do współrzędnych urządzenia poprzez zastosowanie transformacji rzutni do znormalizowanych współrzędnych urządzenia; rzutnia kontroluje, przy jakim przesunięciu pikseli i rozdzielczości obraz pojawia się w celu renderowania. Należy zauważyć, że współrzędne urządzenia nie są wartościami całkowitymi; nie są wskaźnikami pikseli. Są to ciągłe układy współrzędnych 2D, wykorzystujące jednostki wielkości pikseli, ale w których wartości ułamkowe (subpiksele) są całkowicie poprawne. Centra pikseli znajdują się w odległości 0,5 przesunięcia (jak 0,5, 1,5, 2,5, ...) w tym układzie współrzędnych.

Nathan Reed
źródło