D3DXFillVolumeTexture-Funktion
Verwendet eine vom Benutzer bereitgestellte Funktion, um jeden Texel jeder MIP-Ebene einer bestimmten Volumetextur zu füllen.
Syntax
HRESULT D3DXFillVolumeTexture(
_Out_ LPDIRECT3DVOLUMETEXTURE9 pTexture,
_In_ LPD3DXFILL3D pFunction,
_In_ LPVOID pData
);
Parameter
-
pTexture [out]
-
Zeiger auf eine IDirect3DVolumeTexture9-Schnittstelle , die die gefüllte Textur darstellt.
-
pFunction [in]
-
Typ: LPD3DXFILL3D
Zeiger auf eine vom Benutzer bereitgestellte Auswertungsfunktion, die verwendet wird, um den Wert jedes Texels zu berechnen. Die Funktion folgt dem Prototyp von LPD3DXFILL3D.
-
pData [in]
-
Typ: LPVOID
Zeiger auf einen beliebigen Block benutzerdefinierter Daten. Dieser Zeiger wird an die in pFunction bereitgestellte Funktion übergeben.
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 Werte sein: D3DERR_INVALIDCALL.
Bemerkungen
Wenn das Volume nicht dynamisch ist (da die Verwendung beim Erstellen auf 0 festgelegt ist) und sich im Videospeicher befindet (der Speicherpool ist auf D3DPOOL_DEFAULT festgelegt), schlägt D3DXFillVolumeTexture fehl, da das Volume nicht gesperrt werden kann.
In diesem Beispiel wird eine Funktion namens ColorVolumeFill erstellt, die auf D3DXFillVolumeTexture basiert.
// Define a function that matches the prototype of LPD3DXFILL3D
VOID WINAPI ColorVolumeFill (D3DXVECTOR4* pOut, const D3DXVECTOR3* pTexCoord,
const D3DXVECTOR3* pTexelSize, LPVOID pData)
{
*pOut = D3DXVECTOR4(pTexCoord->x, pTexCoord->y, pTexCoord->z, 0.0f);
}
// Fill volume texture
if (FAILED (hr = D3DXFillVolumeTexture (m_pTexture, ColorVolumeFill, NULL)))
{
return hr;
}
Anforderungen
Anforderung | Wert |
---|---|
Header |
|
Bibliothek |
|
Siehe auch