¿Con qué fines estamos utilizando Model View Projection Matrix? ¿Por qué los sombreadores requieren la matriz de proyección de vista de modelo?
¿Con qué fines estamos utilizando Model View Projection Matrix? ¿Por qué los sombreadores requieren la matriz de proyección de vista de modelo?
Respuestas:
Las matrices de modelo, vista y proyección son tres matrices independientes. Modele mapas desde el espacio de coordenadas locales de un objeto al espacio mundial, vista desde el espacio mundial al espacio de la cámara, proyección de la cámara a la pantalla.
Si compone los tres, puede usar el único resultado para mapear todo el camino desde el espacio de objetos hasta el espacio de la pantalla, lo que le permite calcular lo que necesita para pasar a la siguiente etapa de una canalización programable desde las posiciones de vértice entrantes.
En las viejas tuberías de funcionalidad fija, aplicaría el modelo y la vista juntos, luego trabajaría la iluminación usando otro resultado derivado de ellos (con algunas correcciones para que, por ejemplo, las normales sigan siendo una unidad de longitud incluso si ha aplicado alguna escala al objeto ), luego aplique la proyección. Puede ver eso reflejado en OpenGL, que nunca separa el modelo y las matrices de vista, manteniéndolos como una sola pila de matrices de vista de modelo. Por lo tanto, a veces también ve eso reflejado en sombreadores.
Entonces: la matriz de proyección de la vista de modelo compuesta a menudo es utilizada por los sombreadores para mapear desde los vértices que cargó para cada modelo a la pantalla. No es obligatorio, hay muchas formas de lograr lo mismo, es normal porque permite todas las transformaciones lineales posibles. Por eso, una versión menos compuesta también era la norma en el antiguo mundo de las tuberías fijas.
Porque las matrices son convenientes. Las matrices ayudan a convertir ubicaciones / direcciones con respecto a diferentes espacios (un espacio se puede definir por 3 ejes perpendiculares y un origen).
Aquí hay un ejemplo de un libro especificado por @ legends2k en los comentarios.
Los habitantes de Cartesia utilizan un mapa de su ciudad con el origen centrado con bastante sensatez en el centro de la ciudad y los ejes dirigidos a lo largo de los puntos cardinales de la brújula. Los residentes de Dyslexia usan un mapa de su ciudad con las coordenadas centradas en un punto arbitrario y los ejes corriendo en algunas direcciones arbitrarias que probablemente parecían una buena idea en ese momento. Los ciudadanos de ambas ciudades están bastante contentos con sus respectivos mapas, pero el Ingeniero de Transporte del Estado asignó la tarea de ejecutar un presupuesto para la primera carretera entre Cartesia y Dyslexia necesita un mapa que muestre los detalles de ambas ciudades, que por lo tanto introduce una tercera coordenada. sistema que es superior a él, aunque no necesariamente a nadie más.
Aquí hay otro ejemplo,
Suponga que ha creado un objeto de automóvil en un juego con sus posiciones de vértice utilizando las coordenadas del mundo. Supongamos que tienes que usar este mismo coche en algún otro juego en un mundo completamente diferente, tienes que definir las posiciones de nuevo y los cálculos se volverán complejos. Esto se debe a que nuevamente debe calcular las posiciones de la ventana, el capó, los faros, las ruedas, etc., en el automóvil con respecto al nuevo mundo.
Vea este video para comprender los conceptos de modelo, vista y proyección. (muy recomendable)
Luego vea esto para comprender cómo los vértices del mundo se representan como Matrices y cómo se transforman.