Buffer dei vertici FVF (Direct3D 9)
L'impostazione del parametro FVF del metodo IDirect3DDevice9::CreateVertexBuffer su un valore diverso da zero, che deve essere un codice FVF valido, indica che il contenuto del buffer deve essere caratterizzato da un codice FVF. Un vertex buffer creato con un codice FVF viene definito buffer dei vertici FVF. Alcuni metodi o usi di IDirect3DDevice9 richiedono buffer dei vertici FVF e altri richiedono buffer dei vertici non FVF. I vertex buffer FVF sono necessari come argomento del buffer dei vertici di destinazione per IDirect3DDevice9::P rocessVertices.
I vertex buffer FVF possono essere associati a un flusso di dati di origine per qualsiasi numero di flusso.
La presenza del componente D3DFVF_XYZRHW nei vertex buffer FVF indica che i vertici in tale buffer sono stati elaborati. I buffer dei vertici usati per IDirect3DDevice9::P rocessVertices buffer dei vertici di destinazione devono essere post-elaborati. I buffer dei vertici usati per gli input dello shader a funzione fissa possono essere pre-elaborati o post-elaborati. Se il vertex buffer viene post-elaborato, lo shader viene effettivamente ignorato e i dati vengono passati direttamente al modulo di ritaglio e configurazione primitivo.
I vertex buffer FVF possono essere usati con vertex shader. Inoltre, i flussi dei vertici possono rappresentare gli stessi formati di vertici che possono essere memorizzati nei vertex buffer non FVF. Non devono essere usati per inserire dati da buffer di vertici separati. La flessibilità aggiuntiva dei nuovi flussi di vertici consente alle applicazioni che devono mantenere i dati separati per funzionare meglio, ma non è necessario. Se l'applicazione può gestire in anticipo i dati interleaved, si tratta di un miglioramento delle prestazioni. Se l'applicazione interlea solo i dati prima di ogni chiamata di rendering, è necessario abilitare l'API o l'hardware per eseguire questa operazione con più flussi.
Le cose più importanti con le prestazioni dei vertici sono l'uso di un vertice a 32 byte e per mantenere un buon ordinamento della cache.
Argomenti correlati