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?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top