Funzione D3DX10CompileFromResource
Nota
Anziché 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 da una risorsa.
Sintassi
HRESULT D3DX10CompileFromResource(
_In_ HMODULE hSrcModule,
_In_ LPCTSTR pSrcResource,
_In_ LPCTSTR pSrcFileName,
_In_ const D3D_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
-
hSrcModule [in]
-
Tipo: HMODULE
Gestire il modulo di risorsa contenente lo shader. HMODULE può essere ottenuto con la funzione GetModuleHandle.
-
pSrcResource [in]
-
Tipo: LPCTSTR
Nome della risorsa contenente lo shader. Se le impostazioni del compilatore richiedono Unicode, il tipo di dati LPCTSTR viene risolto in LPCWSTR. In caso contrario, il tipo di dati viene risolto in LPCSTR.
-
pSrcFileName [in]
-
Tipo: LPCTSTR
Facoltativa. Nome file effetto, utilizzato solo per i messaggi di errore. Può essere NULL.
-
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 terminatore e deve avere tutti i membri impostati su 0. Se non usato, impostare pDefines su NULL.
-
pInclude [in]
-
Tipo: LPD3D10INCLUDE
Facoltativa. Puntatore a un'interfaccia di interfaccia ID3D10Include per la gestione dei file di inclusione. L'impostazione di questo valore su NULL causa un errore di compilazione se un shader contiene un #include.
-
pFunctionName [in]
-
Tipo: LPCSTR
Nome della funzione punto di ingresso shader in cui inizia l'esecuzione dello shader. Quando si compila un effetto, D3DX10CompileFromResource 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 shader; può essere qualsiasi profilo nel modello shader 2, modello shader 3 o modello shader 4.
-
Flags1 [in]
-
Tipo: UINT
-
Flags2 [in]
-
Tipo: UINT
Flag di compilazione degli effetti. Quando si compila un shader e non un file di effetto, D3DX10CompileFromResource ignora Flags2; È consigliabile impostare Flags2 su zero perché è consigliabile impostare un parametro nonpointer su zero se la funzione chiamata non la userà.
-
pPump [in]
-
Tipo: ID3DX10ThreadPump*
Puntatore a un'interfaccia della pompa del thread (vedere ID3DX10ThreadPump Interface). 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é tutte 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