Condividi tramite


Funzione D3DCompileFromFile (d3dcompiler.h)

Nota È possibile usare questa API per sviluppare le app di Windows Store, ma non è possibile usarla nelle app inviate a Windows Store. Fare riferimento alla sezione "Compilazione degli shader per UWP" nelle osservazioni per D3DCompile2.
 
Compila il codice Microsoft High Level Shader Language (HLSL) in bytecode per una determinata destinazione.

Sintassi

HRESULT D3DCompileFromFile(
  [in]            LPCWSTR                pFileName,
  [in, optional]  const D3D_SHADER_MACRO *pDefines,
  [in, optional]  ID3DInclude            *pInclude,
  [in]            LPCSTR                 pEntrypoint,
  [in]            LPCSTR                 pTarget,
  [in]            UINT                   Flags1,
  [in]            UINT                   Flags2,
  [out]           ID3DBlob               **ppCode,
  [out, optional] ID3DBlob               **ppErrorMsgs
);

Parametri

[in] pFileName

Puntatore a una stringa con terminazione null costante contenente il nome del file contenente il codice shader.

[in, optional] pDefines

Matrice facoltativa di strutture D3D_SHADER_MACRO che definiscono le macro shader. Ogni definizione di macro contiene un nome e una definizione con terminazione null. Se non usato, impostare su NULL. L'ultima struttura della matrice funge da terminatore e deve avere tutti i membri impostati su NULL.

[in, optional] pInclude

Puntatore facoltativo a un'interfaccia ID3DInclude usata dal compilatore per gestire i file. Se si imposta questo parametro su NULL e lo shader contiene un #include, si verifica un errore di compilazione. È possibile passare la macro D3D_COMPILE_STANDARD_FILE_INCLUDE , ovvero un puntatore a un gestore di inclusione predefinito. Questo gestore di inclusione predefinito include file relativi alla directory corrente.

#define D3D_COMPILE_STANDARD_FILE_INCLUDE ((ID3DInclude*)(UINT_PTR)1)

[in] pEntrypoint

Puntatore a una stringa con terminazione null costante contenente il nome della funzione di ingresso del punto di ingresso shader in cui inizia l'esecuzione dello shader. Quando si compila un effetto, D3DCompileFromFile ignora pEntrypoint; è consigliabile impostare pEntrypoint su NULL perché è consigliabile impostare un parametro puntatore su NULL se la funzione chiamata non la userà.

[in] pTarget

Puntatore a una stringa con terminazione null costante che specifica la destinazione dello shader o il set di funzionalità shader da compilare. La destinazione shader può essere un modello shader(ad esempio, modello shader 2, modello shader 3, modello shader 4 o modello shader 5 e versioni successive). La destinazione può anche essere un tipo di effetto , ad esempio fx_4_1. Per informazioni sulle destinazioni supportate da vari profili, vedere Specificare le destinazioni del compilatore.

[in] Flags1

Combinazione di opzioni di compilazione shader combinate usando un'operazione OR bit per bit. Il valore risultante specifica come il compilatore compila il codice HLSL.

[in] Flags2

Combinazione di opzioni di compilazione degli effetti combinate usando un'operazione OR bit per bit. Il valore risultante specifica come il compilatore compila l'effetto. Quando si compila un shader e non un file di effetto, D3DCompileFromFile ignora Flags2; È consigliabile impostare Flags2 su zero perché è consigliabile impostare un parametro nonpointer su zero se la funzione chiamata non la userà.

[out] ppCode

Puntatore a una variabile che riceve un puntatore all'interfaccia ID3DBlob che è possibile usare per accedere al codice compilato.

[out, optional] ppErrorMsgs

Puntatore facoltativo a una variabile che riceve un puntatore all'interfaccia ID3DBlob che è possibile usare per accedere ai messaggi di errore del compilatore o NULL se non sono presenti errori.

Valore restituito

Restituisce uno dei codici restituiti Direct3D 11.

Commenti

Nota Il D3dcompiler_44.dll o versione successiva del file contiene la funzione del compilatore D3DCompileFromFile .
 

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione d3dcompiler.h
Libreria D3DCompiler.lib
DLL D3DCompiler_47.dll

Vedi anche

Funzioni