Condividi tramite


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

Flag di compilazione dello shader.

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

Vedi anche

Funzioni per utilizzo generico