Freigeben über


ID3DXPRTEngine::SetMeshMaterials-Methode

Legt Gittermaterialeigenschaften in der 3D-Szene fest. Verwenden Sie diese Methode, um Untersurface-Streuungsparameter anzugeben.

Syntax

HRESULT SetMeshMaterials(
  [in] const D3DXSHMATERIAL **ppMaterials,
  [in]       UINT           NumMeshes,
  [in]       UINT           NumChannels,
  [in]       BOOL           bSetAlbedo,
  [in]       FLOAT          fLengthScale
);

Parameter

ppMaterials [in]

Typ: const D3DXSHMATERIAL**

Adresse eines Zeigers auf die gewünschten Gittermaterialeigenschaften. Siehe D3DXSHMATERIAL.

NumMeshes [in]

Typ: UINT

Index des Gitters, für das Materialeigenschaften festgelegt werden sollen.

NumChannels [in]

Typ: UINT

Anzahl der Farbkanäle, die im Gitter festgelegt werden sollen. Legen Sie auf 1 fest, um graue Materialien anzugeben (R = G = B), oder 3, um Farbblutungseffekte zu aktivieren. Wenn Sie diesen Parameter ändern möchten, legen Sie zuerst den albedo mit einer anderen Methode fest, z. B. ID3DXPRTEngine::SetPerTexelAlbedo oder ID3DXPRTEngine::SetPerVertexAlbedo.

bSetAlbedo [in]

Typ: BOOL

Wenn TRUE, legt die Albedo des Gitternetzes auf ppMaterials fest und überschreibt alle vorhandenen Texel- und Vertex-Albedo-Werte. Wenn FALSE, behält alle vorhandenen Texel- und Vertex-Albedo-Werte bei, die von anderen Methoden festgelegt werden. NumChannels muss mit dem NumChannels-Parameter übereinstimmen, der zum Erstellen des Puffers in D3DXCreatePRTBuffer oder D3DXCreatePRTBufferTex verwendet wird.

fLengthScale [in]

Typ: FLOAT

Skalierung der 3D-Szene relativ zu einem 1-mm-Cube. Wird für Streuungsberechnungen unter der Oberfläche verwendet.

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.

Anforderungen

Anforderung Wert
Header
D3DX9Mesh.h
Bibliothek
D3dx9.lib

Siehe auch

ID3DXPRTEngine