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: const D3D_SHADER_MACRO*

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

[in, optional] pInclude

Tipo: ID3DInclude*

Puntatore a un ID3DInclude per la gestione di file di inclusione. L'impostazione di questo valore su NULL causa un errore di compilazione se un 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 corrente e ai file 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**

Indirizzo di un ID3DBlob contenente il codice compilato.

[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.

Commenti

D3DPreprocess restituisce le direttive #line e mantiene il numero di linee di input di origine in modo che il numero di righe di output possa essere correlato correttamente all'origine di input.

Requisiti

   
Piattaforma di destinazione Windows
Intestazione d3dcompiler.h
Libreria D3dcompiler_47.lib
DLL D3dcompiler_47.dll

Vedi anche

Funzioni