transformations geometric opengl directx 3d

geometric transformations opengl



El propĆ³sito de Model View Projection Matrix (2)

Las matrices de modelo, vista y proyección son tres matrices separadas. Modelo de mapas desde el espacio de coordenadas local de un objeto en el espacio mundial, vista desde el espacio mundial al espacio de la cámara, proyección desde la cámara a la pantalla.

Si compone los tres, puede usar el resultado de un mapa desde el espacio de objetos hasta el espacio de la pantalla, lo que le permite determinar qué necesita para pasar a la siguiente etapa de una tubería programable desde las posiciones de vértices entrantes.

En las tuberías de funcionalidad fija de la antigüedad, aplicaría el modelo y la vista juntos, luego calcularía la iluminación usando otro resultado derivado de ellos (con algunas correcciones para que, por ejemplo, las normales todavía tengan unidad aunque haya aplicado alguna escala al objeto) ), luego aplica proyección. Puede ver eso reflejado en OpenGL, que nunca separa el modelo y las matrices de vista, manteniéndolos como una única pila de matriz de modelos. Por lo tanto, a veces también ves eso reflejado en sombreadores.

Entonces: la matriz de proyección de vista de modelo compuesta a menudo es utilizada por sombreadores para mapear desde los vértices que cargó para cada modelo a la pantalla. No es necesario, hay muchas maneras de lograr lo mismo, es habitual porque permite todas las transformaciones lineales posibles. Debido a eso, una versión menos compuesta de esto también era la norma en el mundo fijo de tuberías.

¿Con qué fines estamos usando la Matriz de proyección Model View? ¿Por qué los sombreadores requieren una matriz de proyección de vista de modelo?


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 residentes de Cartesia usan 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 Dislexia usan un mapa de su ciudad con las coordenadas centradas en un punto arbitrario y los ejes 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 asignó la tarea de ejecutar un presupuesto para la primera carretera entre Cartesia y Dislexia 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,

Asuma que ha creado un objeto de automóvil en un juego con sus posiciones de vértice usando las coordenadas del mundo. Supongamos que tiene que usar este mismo automóvil en otro juego en un mundo completamente diferente, debe definir las posiciones nuevamente y los cálculos serán complejos. Esto se debe a que nuevamente debe calcular las posiciones de ventana, capó, faro, ruedas, etc., en el automóvil con respecto al nuevo mundo.

Vea this video para comprender los conceptos de modelo, vista y proyección. (muy recomendable)

Luego, vea this para comprender cómo se representan los vértices en el mundo como Matrices y cómo se transforman.