Freigeben über


D3DXCreatePRTEngine-Funktion

Erstellt ein ID3DXPRTEngine-Objekt , das effizient vorberechnete PRT-Simulationen (Radiance Transfer) einer 3D-Szene generieren kann.

Syntax

HRESULT D3DXCreatePRTEngine(
  _In_    LPD3DXMESH      pMesh,
  _In_    DWORD           *pAdjacency,
  _In_    BOOL            ExtractUVs,
  _In_    LPD3DXMESH      pBlockerMesh,
  _Inout_ LPD3DXPRTENGINE ppEngine
);

Parameter

pMesh [in]

Typ: LPD3DXMESH

Zeiger auf ein ID3DXMesh-Eingabe-Gitterobjekt , das die 3D-Szene modelliert. Dieses Gitter muss über eine Attributtabelle verfügen, in der sich Scheitelpunkte in einem eindeutigen Attribut befinden.

pAdjacency [in]

Typ: DWORD*

Optionaler Zeiger auf ein Array von drei DWORDs pro Gesicht, die mit benachbarten Gesichtsindizes gefüllt werden sollen. Die Anzahl der Bytes in diesem Array muss mindestens ((3 * GetNumFaces) * sizeof(DWORD)) sein. Kann NULL sein.

ExtractUVs [in]

Typ: BOOL

Wenn TRUE, werden Texturen verwendet, um Albedos- oder PRT-Vektoren zu speichern.

pBlockerMesh [in]

Typ: LPD3DXMESH

Zeiger auf ein optionales ID3DXMesh-Gitterobjekt , das die 3D-Szene blockiert. Kann NULL sein.

ppEngine [in, out]

Typ: LPD3DXPRTENGINE

Zeiger auf ein ID3DXPRTEngine-Ausgabeobjekt .

Rückgabewert

Typ: HRESULT

Wenn die Funktion erfolgreich ist, wird der Rückgabewert D3D_OK. Wenn die Funktion fehlschlägt, kann der Rückgabewert einer der folgenden Sein: D3DERR_INVALIDCALL, E_OUTOFMEMORY.

Bemerkungen

Verwenden Sie D3DXConcatenateMeshes , um mehrere Gitter in einer einzelnen Gitterschnittstelle zu kombinieren.

Anforderungen

Anforderung Wert
Header
D3DX9Mesh.h
Bibliothek
D3dx9.lib

Siehe auch

Vorberechnete Radianzübertragungsfunktionen