Condividi tramite


Funzione D3DPreprocess (d3dcompiler.h)

Pre-elabora il codice HLSL non compilato.

Sintassi

HRESULT D3DPreprocess(
  [in]            LPCVOID                pSrcData,
  [in]            SIZE_T                 SrcDataSize,
  [in, optional]  LPCSTR                 pSourceName,
  [in, optional]  const D3D_SHADER_MACRO *pDefines,
  [in, optional]  ID3DInclude            *pInclude,
  [out]           ID3DBlob               **ppCodeText,
  [out, optional] ID3DBlob               **ppErrorMsgs
);

Parametri

[in] pSrcData

Tipo: LPCVOID

Puntatore ai dati dello shader non compilati; Codice ASCII HLSL o effetto compilato.

[in] SrcDataSize

Tipo: SIZE_T

Lunghezza di pSrcData.

[in, optional] pSourceName

Tipo: LPCSTR

Nome del file che contiene il codice HLSL non compilato.

[in, optional] pDefines

Tipo: D3D_SHADER_MACRO* const

Matrice di definizioni di macro con terminazione NULL (vedere D3D_SHADER_MACRO).

[in, optional] pInclude

Tipo: ID3DInclude*

Puntatore a un ID3DInclude per la gestione dei file di inclusione. Se si imposta su NULL, verrà generato un errore di compilazione se uno shader contiene un #include. È 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 e ai file correnti relativi alla directory del file di origine iniziale. Quando si usa D3D_COMPILE_STANDARD_FILE_INCLUDE, è necessario specificare il nome del file di origine nel parametro pSourceName; Il compilatore deriva la directory relativa iniziale da pSourceName.

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

[out] ppCodeText

Tipo: ID3DBlob**

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

[out, optional] ppErrorMsgs

Tipo: ID3DBlob**

Puntatore a un ID3DBlob che contiene messaggi di errore del compilatore o null se non sono presenti errori.

Valore restituito

Tipo: HRESULT

Restituisce uno dei codici restituiti Direct3D 11.

Osservazioni

D3DPreprocess output #line direttive e mantiene la numerazione delle righe dell'input di origine in modo che la numerazione delle righe di output possa essere correlata correttamente all'origine di input.

Fabbisogno

Requisito Valore
piattaforma di destinazione Finestre
intestazione d3dcompiler.h
libreria D3dcompiler_47.lib
dll D3dcompiler_47.dll

Vedere anche

Funzioni