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

Flag di compilazione shader.

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
D3DX10Async.h

Vedi anche

Funzioni per utilizzo generico