Elaborazione dei dati del vertice (Direct3D 9)

L'interfaccia IDirect3DDevice9 supporta l'elaborazione dei vertici sia nel software che nell'hardware. In generale, le funzionalità del dispositivo per l'elaborazione del vertice software e hardware non sono identiche. Le funzionalità hardware sono variabili, a seconda della scheda di visualizzazione e del driver, mentre le funzionalità software sono fisse.

I flag seguenti controllano il comportamento di elaborazione dei vertici per il livello di astrazione hardware (HAL) e i dispositivi di riferimento.

  • D3DCREATE_SOFTWARE_VERTEXPROCESSING
  • D3DCREATE_HARDWARE_VERTEXPROCESSING
  • D3DCREATE_MIXED_VERTEXPROCESSING

Specificare uno dei flag di comportamento di elaborazione dei vertici quando si chiama IDirect3D9::CreateDevice. Il flag in modalità mista consente al dispositivo di eseguire l'elaborazione dei vertici software e hardware. Un solo flag di elaborazione dei vertici può essere impostato per un dispositivo in qualsiasi momento. Si noti che è necessario impostare il flag di D3DCREATE_HARDWARE_VERTEXPROCESSING durante la creazione di un dispositivo puro (D3DCREATE_PUREDEVICE).

Per evitare funzionalità di elaborazione del doppio vertice in un singolo dispositivo, è possibile eseguire query solo sulle funzionalità di elaborazione dei vertici hardware in fase di esecuzione. Le funzionalità di elaborazione dei vertici software sono fisse e non possono essere eseguite query in fase di esecuzione.

Il membro VertexProcessingCaps della struttura D3DCAPS9 determina le funzionalità di elaborazione del vertice hardware del dispositivo.

Per l'elaborazione dei vertici software sono supportate le funzionalità seguenti.

La tabella seguente elenca inoltre i valori impostati per i membri della struttura D3DCAPS9 per un dispositivo in modalità di elaborazione dei vertici software.

Membro Funzionalità di elaborazione dei vertici software
MaxActiveLights Nessuna limitazione
MaxUserClipPlanes 6
MaxVertexBlendMatrices 4
MaxStreams 16
MaxVertexIndex 0xffffffff

 

In generale, qualsiasi applicazione associata all'elaborazione dei vertici deve usare un dispositivo HAL. L'elaborazione dei vertici software offre un set garantito di funzionalità di elaborazione dei vertici, tra cui un numero illimitato di luci e il supporto completo per i vertex shader programmabili. È possibile attivare l'opzione tra l'elaborazione del vertice software e hardware in qualsiasi momento quando si usa il dispositivo HAL (ovvero l'unico tipo di dispositivo che supporta l'elaborazione del vertice hardware e software). L'unico requisito è che i buffer dei vertici usati per l'elaborazione dei vertici software devono essere allocati nella memoria di sistema.

Dispositivi Direct3D