El propósito de la Matriz de Proyección de Vista de Modelo


¿Para qué propósitos estamos usando la Matriz de proyección de la Vista del Modelo? ¿Por qué los sombreadores requieren una Matriz de Proyección de Vista de Modelo?

Author: LAD, 2011-04-05

2 answers

Las matrices modelo, vista y proyección son tres matrices separadas. Modele mapas del espacio de coordenadas local de un objeto en el espacio del mundo, vista del espacio del mundo 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 del objeto hasta el espacio de la pantalla, lo que le permite calcular lo que necesita pasar a la siguiente etapa de una canalización programable desde las posiciones de vértices entrantes.

En el fijo canalizaciones de funcionalidad de antaño, aplicaba modelo y vista juntos, luego resolvía la iluminación usando otro resultado derivado de ellos (con algunas correcciones para que, por ejemplo, las normales sigan siendo de longitud unitaria incluso si ha aplicado alguna escala al objeto), luego aplicaba proyección. Esto se puede ver reflejado en OpenGL, que nunca separa las matrices modelo y vista, manteniéndolas como una única pila de matrices modelview. Por lo tanto, también a veces se ve reflejado en shaders.

Entonces: el modelo compuesto los sombreadores suelen utilizar view projection matrix para asignar a la pantalla los vértices cargados para cada modelo. No es necesario, hay muchas formas de lograr lo mismo, es normal porque permite todas las transformaciones lineales posibles. Debido a eso, una versión menos compuesta también era la norma en ye olde fixed pipeline world.

 181
Author: Tommy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-04-05 15:12:43

Porque las matrices son convenientes. Las matrices ayudan a convertir ubicaciones / direcciones con respecto a diferentes espacios (Un espacio puede ser definido por 3 ejes perpendiculares y un origen).

Aquí hay un ejemplo de un libro especificado por @legends2k en 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 los puntos cardinales de la brújula. Los residentes de Dislexia 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 muy contentos con sus respectivos mapas, pero el Ingeniero de Transporte del Estado asignado una tarea de ejecutar un presupuesto para la primera carretera entre Cartesia y Dislexia necesitan un mapa que muestre los detalles de ambas ciudades, que por lo tanto introduce un tercer sistema de coordenadas que es superior a él, aunque no necesariamente a nadie más.

Aquí hay otro ejemplo,

Asume que has creado un objeto car en un juego con sus posiciones de vértice usando 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 de nuevo tiene que calcular las posiciones de la ventana, capó, faro, ruedas, etc. en el coche con respecto a nuevo mundo.

Ver este video para entender los conceptos de modelo, vista y proyección. (muy recomendable)

Entonces vea esto para entender cómo los vértices en el mundo se representan como Matrices y cómo se transforman.

 6
Author: cegprakash,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-08 18:55:54