Coordenadas mundiales, coordenadas de dispositivo normalizadas y coordenadas de dispositivo

13

¿Puedo conocer la diferencia entre los tres? Un buen ejemplo también sumaría.

Anish Sharma
fuente

Respuestas:

20

Las coordenadas mundiales están en la base de tu mundo de juego. Las posiciones 3D de todos los objetos se especifican en última instancia en el espacio mundial, ya sea directamente o mediante una jerarquía de nodos. El suelo, los edificios, los árboles y otras cosas estacionarias se arreglarán en el espacio mundial. Los cálculos del juego y la física se realizarán en el espacio mundial (quizás con algunos centros locales para fines de precisión, si el mundo es grande). Los ejes de las coordenadas mundiales a menudo se toman para representar las direcciones de la brújula, como X = este, Y = norte, Z = arriba.

Las coordenadas locales se unen a un objeto (hay un espacio de coordenadas local para cada objeto). Los ejes pueden representar algo significativo para el objeto, por ejemplo X = adelante, Y = izquierda, Z = arriba para un objeto como un personaje, vehículo, arma, etc. que tiene una orientación inherente. A medida que el objeto se mueve, la relación entre el espacio local y el mundo (como lo expresa una matriz de transformación) cambiará. Por ejemplo, si voltea su automóvil al revés, su eje Z local ("arriba" en el espacio local) ahora estará apuntando "hacia abajo" en el espacio mundial.

Las coordenadas de cámara o vista son coordenadas locales adjuntas a la cámara. Sigue siendo un sistema de coordenadas 3D, sin proyección ni nada, pero con los ejes alineados para que coincidan con la orientación de la pantalla: generalmente X = derecha, Y = arriba, Z = hacia atrás. La transformación del mundo para ver el espacio a menudo se conoce como la "matriz de vista".

Las coordenadas del espacio de recorte son las coordenadas que genera un sombreador de vértices: coordenadas a las que se ha aplicado la matriz de proyección, pero no la división en perspectiva. Este es un espacio 4D (homogéneo). (El espacio mundial, local y de visualización es 3D con un w = 1 implícito). Se llama así porque este es el espacio en el que tiene lugar el recorte de recorte de vista y el sacrificio (al menos conceptualmente).

Las coordenadas de dispositivo normalizadas , también conocidas comúnmente como "espacio de pantalla", aunque ese término es un poco flojo, es lo que obtienes después de aplicar la división de perspectiva a las coordenadas de espacio de recorte. Las coordenadas 3D ahora representan las posiciones 2D de los puntos en la pantalla, con X e Y en [−1, 1], junto con la profundidad dentro del rango del búfer de profundidad, Z en [0, 1] para D3D o [−1, 1 ] para OpenGL. La orientación del eje es X = derecha, Y = arriba, y Z puede ser hacia adelante o hacia atrás, dependiendo de la configuración del buffer de profundidad.

Las coordenadas del dispositivo son coordenadas de píxel 2D dentro del objetivo de representación, con (0, 0) en la esquina superior izquierda, X = derecha, Y = abajo. Uno llega a las coordenadas del dispositivo aplicando la transformación de la ventana gráfica a las coordenadas normalizadas del dispositivo; la ventana gráfica controla en qué desplazamiento y resolución de píxeles aparece la imagen en el destino de representación. Una cosa que es importante tener en cuenta es que las coordenadas del dispositivo no son valores enteros; No son índices de píxeles. Son un sistema de coordenadas 2D continuo, que utiliza unidades del tamaño de píxeles, pero en el que los valores fraccionales (subpíxeles) son perfectamente válidos. Los centros de píxeles se encuentran en 0.5 desplazamientos (como 0.5, 1.5, 2.5, ...) en este sistema de coordenadas.

Nathan Reed
fuente