Freigeben über


D3DX10CreateEffectPoolFromFile-Funktion

Erstellen Sie einen Effektpool aus einer Effektdatei.

Syntax

HRESULT D3DX10CreateEffectPoolFromFile(
  _In_        LPCTSTR            pFileName,
  _In_  const D3D_SHADER_MACRO *pDefines,
  _In_        ID3D10Include      *pInclude,
  _In_        LPCSTR             pProfile,
  _In_        UINT               HLSLFlags,
  _In_        UINT               FXFlags,
  _In_        ID3D10Device       *pDevice,
  _In_        ID3DX10ThreadPump  *pPump,
  _Out_       ID3D10EffectPool   **ppEffectPool,
  _Out_       ID3D10Blob         **ppErrors,
  _Out_       HRESULT            *pHResult
);

Parameter

pFileName [in]

Typ: LPCTSTR

Der Name der Effektdatei. Wenn die Compilereinstellungen Unicode erfordern, wird der Datentyp LPCTSTR in LPCWSTR aufgelöst. Andernfalls wird der Datentyp in LPCSTR aufgelöst.

pDefines [in]

Typ: const D3D_SHADER_MACRO*

Ein MIT NULL beendetes Array von Shadermakros (siehe D3D_SHADER_MACRO); Legen Sie dies auf NULL fest, um keine Makros anzugeben.

pInclude [in]

Typ: ID3D10Include*

Ein Zeiger auf eine Include-Schnittstelle (siehe ID3D10Einschließen der Schnittstelle). Dieser Parameter kann NULL sein.

pProfile [in]

Typ: LPCSTR

Eine Zeichenfolge, die das Shaderprofil oder shadermodell angibt.

HLSLFlags [in]

Typ: UINT

HLSL-Kompilierungsoptionen (siehe D3D10_SHADER Konstanten).

FXFlags [in]

Typ: UINT

Optionen für die Effektkompilierung (siehe Kompilieren und Effektflags).

pDevice [in]

Typ: ID3D10Device*

Ein Zeiger auf das Gerät (siehe ID3D10Geräteschnittstelle), das die Ressourcen verwendet.

pPump [in]

Typ: ID3DX10ThreadPump*

Ein Zeiger auf eine Threadpumpenschnittstelle (siehe ID3DX10ThreadPump-Schnittstelle). Verwenden Sie NULL , um anzugeben, dass diese Funktion erst zurückgegeben werden soll, wenn sie abgeschlossen ist.

ppEffectPool [out]

Typ: ID3D10EffectPool**

Die Adresse eines Zeigers auf den Effektpool (siehe ID3D10EffectPool-Schnittstelle).

ppErrors [out]

Typ: ID3D10Blob**

Die Adresse eines Zeigers auf den Arbeitsspeicher (siehe ID3D10Blob-Schnittstelle), der Ggf. Fehler bei der Effektkompilierung enthält.

pHResult [out]

Typ: HRESULT*

Ein Zeiger auf den Rückgabewert. Kann NULL sein. Wenn pPump nicht NULL ist, muss pHResult ein gültiger Speicherort sein, bis die asynchrone Ausführung abgeschlossen ist.

Rückgabewert

Typ: HRESULT

Der Rückgabewert ist einer der In Direct3D 10-Rückgabecodes aufgeführten Werte.

Bemerkungen

In diesem Beispiel wird ein Effektpool aus dem effekt erstellt, der im BasicHLSL10-Beispiel verwendet wird.

   
// Create an effect pool from an effect in memory
ID3D10EffectPool * l_pEffectPool = NULL;
ID3D10Blob* l_pBlob_Errors = NULL;
WCHAR str[MAX_PATH];
hr = DXUTFindDXSDKMediaFileCch( str, MAX_PATH, L"BasicHLSL10.fx" );
hr = D3DX10CreateEffectPoolFromFile( str, 
    NULL, NULL, D3D10_SHADER_ENABLE_STRICTNESS, 
    0, pd3dDevice, NULL, &l_pEffectPool,
    &l_pBlob_Errors );

Anforderungen

Anforderung Wert
Header
D3DX10Async.h

Siehe auch

Universell-Funktionen