Per quali scopi utilizziamo Model View Projection Matrix? Perché gli shader richiedono Model View Projection Matrix?
Per quali scopi utilizziamo Model View Projection Matrix? Perché gli shader richiedono Model View Projection Matrix?
Risposte:
Le matrici modello, vista e proiezione sono tre matrici separate. Modella le mappe dallo spazio delle coordinate locali di un oggetto nello spazio del mondo, vista dallo spazio del mondo allo spazio della telecamera, proiezione dalla telecamera allo schermo.
Se componi tutti e tre, puoi utilizzare l'unico risultato per mappare dallo spazio degli oggetti allo spazio dello schermo, permettendoti di capire cosa ti serve per passare alla fase successiva di una pipeline programmabile dalle posizioni dei vertici in entrata.
Nelle vecchie pipeline di funzionalità fisse, applicavi il modello e la vista insieme, quindi elaborava l'illuminazione usando un altro risultato derivato da essi (con alcune correzioni in modo che, ad esempio, le normali siano ancora una lunghezza unitaria anche se hai applicato un po 'di ridimensionamento all'oggetto ), quindi applicare la proiezione. Puoi vederlo riflesso in OpenGL, che non separa mai il modello e le matrici della vista, mantenendole come un unico stack di matrici della vista del modello. Pertanto, a volte lo vedi anche riflesso negli shader.
Quindi: la matrice di proiezione della vista del modello composto viene spesso utilizzata dagli shader per mappare i vertici caricati per ogni modello sullo schermo. Non è necessario, ci sono molti modi per ottenere la stessa cosa, è normale perché consente tutte le trasformazioni lineari possibili. Per questo motivo, una versione meno composta di esso era anche la norma nel vecchio mondo delle condutture fisse.
Perché le matrici sono convenienti. Le matrici aiutano a convertire posizioni / direzioni rispetto a spazi diversi (uno spazio può essere definito da 3 assi perpendicolari e un'origine).
Ecco un esempio da un libro specificato da @ legends2k nei commenti.
Gli abitanti di Cartesia utilizzano una mappa della loro città con l'origine centrata in modo abbastanza sensato al centro della città e gli assi diretti lungo i punti cardinali del compasso. I residenti di Dislessia usano una mappa della loro città con le coordinate centrate in un punto arbitrario e gli assi che corrono in alcune direzioni arbitrarie che probabilmente sembravano una buona idea in quel momento. I cittadini di entrambe le città sono abbastanza contenti delle rispettive mappe, ma l'Ingegnere dei Trasporti dello Stato incaricato di stanziare un budget per la prima autostrada tra Cartesia e Dislessia ha bisogno di una mappa che mostri i dettagli di entrambe le città, che quindi introduce una terza coordinata sistema che è superiore a lui, anche se non necessariamente a chiunque altro.
Ecco un altro esempio,
Supponi di aver creato un oggetto macchina in un gioco con le sue posizioni dei vertici utilizzando le coordinate del mondo. Supponi di dover usare la stessa macchina in qualche altro gioco in un mondo completamente diverso, devi definire nuovamente le posizioni ei calcoli diventeranno complessi. Questo perché devi di nuovo calcolare le posizioni di finestrino, cofano, faro, ruote ecc. Nell'auto rispetto al nuovo mondo.
Guarda questo video per comprendere i concetti di modello, vista e proiezione. (altamente raccomandato)
Quindi guarda questo per capire come i vertici nel mondo sono rappresentati come Matrici e come vengono trasformati.