DirectX 9: Vertex Shader fonte attributo
Domanda
Si tratta di circa DirectX 9.
Nel caso tipico di interpretazione, vertex shader, c'è una o più fonti di flusso fissati nel dispositivo, e il formato dei dati di origine è definita usando dichiarazione vertice.
Ora, se un vertex utilizzato bisogno di qualche attributo (ad esempio, uno con D3DDECLUSAGE_NORMAL e UsageIndex 1 o 2), ma dichiarazione vertice che è disponibile non ha quell'attributo inclusa (es. I dati forniti in fonti di flusso non funziona includere tale attributo), e DrawPrimitive si chiama, da dove viene DirectX ottenere il valore per quell'attributo?
Soluzione
"Se i dati nel flusso vertice contiene meno componenti rispetto al tipo di dati corrispondente Shader, i componenti mancanti verrà inizializzata a 0 (tranne w, che viene inizializzato a 1)."
Tratto da "Windows DirectX Graphics Documentazione (agosto 2009)"
Contents> HLSL> Guida di programmazione> Scrivendo Shader HLSL in Direct3D 9> variando Shader Ingressi e Semantica
Altri suggerimenti
La specifica DirectX 9 definisce i valori di "default" per gli attributi non dichiarati, di solito (0,0,0,1). O il driver di periferica o GPU li crea.