Freigeben über


ID3DXPRTEngine::MultiplyAlbedo-Methode

Multipliziert jeden vorberechneten Radianzübertragungsvektor (PRT) mit der Albedo pro Vertex.

Syntax

HRESULT MultiplyAlbedo(
  [in, out] LPD3DXPRTBUFFER pDataOut
);

Parameter

pDataOut [in, out]

Typ: LPD3DXPRTBUFFER

Zeiger auf ein ID3DXPRTBuffer-Ausgabeobjekt , das PRT-Vektoren enthält, multipliziert mit dem Albedo pro Vertex. Wenn es sich bei diesem Ausgabepuffer um ein Texturobjekt handelt, muss darauf geachtet werden, dass die Albedo der Textur mit der gleichen Auflösung wie der Simulationspuffer gespeichert wird. Sie können die richtige Auflösung auf dem Albedo mit D3DXLoadSurfaceFromSurface festlegen und ggf. Texturrinnenbereiche anwenden.

Rückgabewert

Typ: HRESULT

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

Bemerkungen

Die ID3DXPRTEngine::Computexxx-Methoden berechnen Ausgabepuffer, in denen das Lichtsignal nicht mit albedo multipliziert wurde. Wenn Sie die Albedo nicht multiplizieren, können Sie die Albedovariation in einem feineren Maßstab als die Quellstrahlung modellieren und so genauere Ergebnisse der Komprimierung erzielen.

Rufen Sie diese Methode nach einer der Computexxx-Methoden auf, um albedo in das Modell für gerendertes Licht einzuschließen.

ID3DXPRTEngine::SetMeshMaterials sollte vor dem Aufrufen dieser Methode aufgerufen werden.

Anforderungen

Anforderung Wert
Header
D3DX9Mesh.h
Bibliothek
D3dx9.lib

Siehe auch

ID3DXPRTEngine

ID3DXPRTEngine::ComputeDirectLightingSH