Sistemi di coordinate e geometria

La programmazione di applicazioni Direct3D richiede una conoscenza pratica dei principi di geometria 3D. In questa sezione vengono introdotti i concetti di geometria più importanti per la creazione di scene 3D.

In questa sezione

Argomento Descrizione

Sistemi di coordinate

In genere le applicazioni grafiche 3D usano uno dei due tipi di sistemi di coordinate cartesiani a sinistra o destrorsa. In entrambi i sistemi di coordinate, l'asse x positivo punta a destra e l'asse y positivo punta verso l'alto.

Primitives

Una primitiva è una raccolta di vertici che costituiscono una singola entità in 3D.

Vedere Vettori normali delle facce e dei vertici

Ogni faccia in una mesh ha un vettore normale di unità perpendicolare. La direzione del vettore è determinata dall'ordine in cui sono definiti i vertici e dal fatto che il sistema di coordinate sia destro o sinistrorso.

Rettangoli

Durante la programmazione Direct3D e Windows, gli oggetti sullo schermo sono indicati in termini di rettangoli di delimitazione. I lati di un rettangolo di delimitazione sono sempre paralleli ai lati dello schermo, per cui il rettangolo può essere descritto da due punti, l'angolo superiore sinistro e l'angolo inferiore destro.

Interpolazione di triangoli

Durante il rendering, la pipeline interpola i dati dei vertici in ogni triangolo. I dati dei vertici possono essere un'ampia gamma di dati e possono includere: colore diffuso, colore speculare, alfa diffuso (opacità triangolare), alfa speculare e fattore di nebbia.

Vettori, vertici e quaternioni

In Direct3D, i vertici descrivono la posizione e l'orientamento. Ogni vertice in una primitiva è descritto da un vettore che fornisce la posizione, il colore, le coordinate della trama e un vettore normale che ne fornisce l'orientamento.

Trasformazioni

La parte di Direct3D che esegue il push della geometria attraverso il processo geometrico della funzione fissa è il motore di trasformazione. Individua il modello e il visualizzatore nel mondo, proietta i vertici per la visualizzazione sullo schermo e ritaglia i vertici nel viewport. Il motore di trasformazione esegue anche calcoli di illuminazione per determinare componenti diffusi e speculari in ogni vertice.

Viewport e ritaglio

Un riquadro di visualizzazione è un rettangolo bidimensionale (2D) in cui viene proiettata una scena 3D. In Direct3D il rettangolo esiste come coordinate all'interno di una superficie Direct3D usata dal sistema come destinazione di rendering. La trasformazione della proiezione converte i vertici nel sistema di coordinate usato per il riquadro di visualizzazione. Viene usato anche un riquadro di visualizzazione per specificare l'intervallo di valori di profondità in una superficie di destinazione di rendering in cui verrà eseguito il rendering di una scena (in genere da 0,0 a 1,0).

 

Guida alla grafica Direct3D