Funzione D3DX10CompileFromMemory
Nota
Invece di usare questa funzione legacy, è consigliabile compilare offline usando il compilatore della riga di comando Fxc.exe o usare l'API D3DCompile .
Compilare uno shader o un effetto caricato in memoria.
Sintassi
HRESULT D3DX10CompileFromMemory(
_In_ LPCSTR pSrcData,
_In_ SIZE_T SrcDataLen,
_In_ LPCSTR pFileName,
_In_ const D3D10_SHADER_MACRO *pDefines,
_In_ LPD3D10INCLUDE pInclude,
_In_ LPCSTR pFunctionName,
_In_ LPCSTR pProfile,
_In_ UINT Flags1,
_In_ UINT Flags2,
_In_ ID3DX10ThreadPump *pPump,
_Out_ ID3D10Blob **ppShader,
_Out_ ID3D10Blob **ppErrorMsgs,
_Out_ HRESULT *pHResult
);
Parametri
-
pSrcData [in]
-
Tipo: LPCSTR
Puntatore allo shader in memoria.
-
SrcDataLen [in]
-
Tipo: SIZE_T
Dimensioni dello shader in memoria.
-
pFileName [in]
-
Tipo: LPCSTR
Nome del file che contiene il codice dello shader.
-
pDefines [in]
-
Tipo: const D3D_SHADER_MACRO*
Facoltativa. Puntatore a una matrice di definizioni di macro (vedere D3D_SHADER_MACRO). L'ultima struttura della matrice funge da carattere di terminazione e deve avere tutti i membri impostati su 0. Se non viene usato, impostare pDefines su NULL.
-
pInclude [in]
-
Tipo: LPD3D10INCLUDE
Facoltativa. Puntatore a un'interfaccia ID3D10Include per la gestione dei file di inclusione. Se uno shader contiene un #include, l'impostazione su NULL causerà un errore di compilazione.
-
pFunctionName [in]
-
Tipo: LPCSTR
Nome della funzione del punto di ingresso shader in cui inizia l'esecuzione dello shader. Quando si compila un effetto, D3DX10CompileFromMemory ignora pFunctionName; È consigliabile impostare pFunctionName su NULL perché è consigliabile impostare un parametro puntatore su NULL se la funzione chiamata non la userà.
-
pProfile [in]
-
Tipo: LPCSTR
Stringa che specifica il modello di shader; può essere qualsiasi profilo nel modello shader 2, nel modello di shader 3 o nel modello shader 4.
-
Flags1 [in]
-
Tipo: UINT
-
Flags2 [in]
-
Tipo: UINT
Flag di compilazione dell'effetto. Quando si compila uno shader e non un file di effetto, D3DX10CompileFromMemory ignora Flags2; È consigliabile impostare Flags2 su zero perché è consigliabile impostare un parametro non puntatore su zero se la funzione chiamata non la userà.
-
pPump [in]
-
Tipo: ID3DX10ThreadPump*
Puntatore a un'interfaccia della pompa di thread (vedere INTERFACCIA ID3DX10ThreadPump). Usare NULL per specificare che questa funzione non deve restituire finché non viene completata.
-
ppShader [out]
-
Tipo: ID3D10Blob**
Puntatore a un'interfaccia ID3D10Blob che contiene lo shader compilato, nonché le informazioni di debug e tabella dei simboli incorporate.
-
ppErrorMsgs [out]
-
Tipo: ID3D10Blob**
Puntatore a un'interfaccia ID3D10Blob che contiene un elenco di errori e avvisi che si sono verificati durante la compilazione. Questi errori e avvisi sono identici all'output di debug da un debugger.
-
pHResult [out]
-
Tipo: HRESULT*
Puntatore al valore restituito. Può essere NULL. Se pPump non è NULL, pHResult deve essere un percorso di memoria valido fino al completamento dell'esecuzione asincrona.
Valore restituito
Tipo: HRESULT
Il valore restituito è uno dei valori elencati in Codici restituiti Direct3D 10.
Requisiti
Requisito | Valore |
---|---|
Intestazione |
|
Vedi anche