Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il sistema può usare la posizione dello spazio della fotocamera trasformata o la normale da un vertice come coordinate di trama oppure può calcolare i tre vettori di elemento usati per affrontare una mappa di ambiente cubica. Analogamente alle coordinate delle trame specificate in modo esplicito in un vertice, è possibile usare le coordinate della trama generate automaticamente come input per le trasformazioni delle coordinate della trama.
Le coordinate delle trame generate automaticamente possono ridurre significativamente la larghezza di banda necessaria per i dati geometrici eliminando la necessità di coordinate di trama esplicite nel formato dei vertici. In molti casi, le coordinate della trama generate dal sistema possono essere usate con trasformazioni per produrre effetti speciali. Naturalmente, si tratta di una funzionalità speciale e si useranno coordinate di trama esplicite per molte occasioni.
Configurazione delle coordinate delle trame generate automaticamente
In C++, lo stato D3DTSS_TEXCOORDINDEX fase trama (dal tipo enumerato D3DTEXTURESTAGESTATETYPE) controlla il modo in cui il sistema genera le coordinate della trama.
In genere, questo stato indica al sistema di usare un particolare set di coordinate di trama codificate nel formato vertice. Quando si includono i flag D3DTSS_TCI_CAMERASPACENORMAL, D3DTSS_TCI_CAMERASPACEPOSITION o D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR nel valore assegnato a questo stato, il comportamento del sistema è piuttosto diverso. Se uno di questi flag è presente, la fase della trama ignora le coordinate della trama all'interno del formato del vertice a favore delle coordinate generate dal sistema. I significati per ogni flag sono visualizzati nell'elenco seguente.
D3DTSS_TCI_CAMERASPACENORMAL
Usare la normale vertice, trasformata nello spazio della fotocamera, come coordinate della trama di input.
D3DTSS_TCI_CAMERASPACEPOSITION
Usare la posizione del vertice, trasformata nello spazio della fotocamera, come coordinate della trama di input.
D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR
Usare il vettore di reflection, trasformato nello spazio della fotocamera, come coordinate della trama di input. Il vettore di reflection viene calcolato dalla posizione del vertice di input e dal vettore normale.
I flag di indice delle coordinate della trama si escludono a vicenda. Questo esempio usa:
- Posizione del vertice (nello spazio della fotocamera) come coordinate della trama di input per questa fase della trama
- Modalità di wrapping impostata nello stato di rendering D3DRENDERSTATE_WRAP1
// Assume d3dDevice is a valid pointer to an IDirect3DDevice9 interface
d3dDevice->SetTextureStageState(0, D3DTSS_TEXCOORDINDEX,
D3DTSS_TCI_CAMERASPACEPOSITION | 1);
Le coordinate delle trame generate automaticamente sono più utili come valori di input per una trasformazione delle coordinate della trama o per eliminare la necessità dell'applicazione di calcolare vettori a tre elementi per le mappe dell'ambiente cubico.
Il mapping della sfera usa una mappa delle trame precompilate (in fase di modello) che contiene l'intero ambiente come riflesso da una sfera cromata. Direct3D ha una funzionalità di generazione delle coordinate delle trame usando il D3DTSS_TCI_CAMERASPACENORMAL dello stato di rendering, che accetta la normale del vertice nello spazio della fotocamera e lo inserisce in una trasformazione trama per generare coordinate di trama.
Argomenti correlati