Condividi tramite


Costanti D3D10_SHADER

Opzioni di compilazione HLSL.

#define Descrizione
D3D10_SHADER_AVOID_FLOW_CONTROL Indica al compilatore di non consentire il controllo del flusso (quando possibile).
D3D10_SHADER_DEBUG Inserire informazioni su file/riga/tipo/simbolo di debug.
D3D10_SHADER_ENABLE_STRICTNESS Per impostazione predefinita, il compilatore HLSL disabilita la rigidità sulla sintassi deprecata. L'impostazione di questo flag abilita la rigidità che potrebbe non consentire la sintassi legacy.
D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY In questo modo gli shader meno recenti possono essere compilati in 4_0 destinazioni.
D3D10_SHADER_FORCE_VS_SOFTWARE_NO_OPT Compilare un vertex shader per il profilo shader più alto successivo. Questa opzione attiva il debug (e le ottimizzazioni).
D3D10_SHADER_FORCE_PS_SOFTWARE_NO_OPT Compilare un pixel shader per il profilo shader più alto successivo. Questa opzione attiva il debug (e le ottimizzazioni).
D3D10_SHADER_IEEE_STRICTNESS Abilita la rigidità IEEE.
D3D10_SHADER_NO_PRESHADER Disabilita i preshader. Se si usa questo flag, il compilatore non estrae l'espressione statica per la valutazione.
D3D10_SHADER_OPTIMIZATION_LEVEL0 Livello di ottimizzazione minimo. Può produrre codice più lento, ma lo farà più rapidamente. Può essere utile in un ciclo di sviluppo dello shader altamente iterativo.
D3D10_SHADER_OPTIMIZATION_LEVEL1 Secondo livello di ottimizzazione più basso.
D3D10_SHADER_OPTIMIZATION_LEVEL2 Secondo livello di ottimizzazione più alto.
D3D10_SHADER_OPTIMIZATION_LEVEL3 Massimo livello di ottimizzazione. Produrrà il codice migliore possibile, ma potrebbe richiedere molto più tempo per farlo. Ciò sarà utile per le compilazioni finali di un'applicazione in cui le prestazioni sono il fattore più importante.
D3D10_SHADER_PACK_MATRIX_ROW_MAJOR A meno che non venga specificato in modo esplicito, le matrici verranno compresse nell'ordine principale delle righe in base all'input e all'output dello shader.
D3D10_SHADER_PACK_MATRIX_COLUMN_MAJOR A meno che non venga specificato in modo esplicito, le matrici verranno compresse nell'ordine principale della colonna in base all'input e all'output dello shader. Questa operazione è in genere più efficiente, poiché consente l'esecuzione della moltiplicazione a matrice vettoriale usando una serie di prodotti dot.this is more efficient, since it allows vector-matrix multiplication to be performed using a series of dot-products.
D3D10_SHADER_PARTIAL_PRECISION Forzare l'esecuzione di tutti i calcoli con precisione parziale; questo può essere eseguito più velocemente in alcuni hardware.
D3D10_SHADER_PREFER_FLOW_CONTROL Indicare al compilatore di usare il controllo del flusso (quando possibile).
D3D10_SHADER_SKIP_OPTIMIZATION Ignorare l'ottimizzazione durante la generazione del codice; in genere consigliato solo per il debug.
D3D10_SHADER_SKIP_VALIDATION Non convalidare il codice generato in base a funzionalità e vincoli noti. Usarlo solo con shader compilati correttamente in passato. Gli shader vengono sempre convalidati da DirectX prima che vengano impostati sul dispositivo.
D3D10_SHADER_WARNINGS_ARE_ERRORS Informare il compilatore HLSL di considerare tutti gli avvisi come errori durante la compilazione del codice dello shader. Per il nuovo codice shader, è consigliabile usare questa opzione in modo da poter risolvere tutti gli avvisi e garantire il minor numero possibile di errori di codice difficili da trovare.

 

Queste costanti sono definite come macro in d3d10shader.h.

costanti shader