共用方式為


D3DXFillVolumeTexture 函式

使用使用者提供的函式來填滿指定磁片區紋理之每個 mip 層級的每個材質。

語法

HRESULT D3DXFillVolumeTexture(
  _Out_ LPDIRECT3DVOLUMETEXTURE9 pTexture,
  _In_  LPD3DXFILL3D             pFunction,
  _In_  LPVOID                   pData
);

參數

pTexture [out]

類型: LPDIRECT3DVOLUMETEXTURE9

IDirect3DVolumeTexture9介面的指標,代表填滿紋理。

pFunction [in]

類型: LPD3DXFILL3D

使用者提供的評估工具函式指標,用來計算每個材質的值。 函式遵循 LPD3DXFILL3D的原型。

pData [in]

類型: LPVOID

使用者定義資料任意區塊的指標。 此指標會傳遞至 pFunction中提供的函式。

傳回值

類型: HRESULT

如果函式成功,傳回值會D3D_OK。 如果函式失敗,傳回值可以是下列其中一個值:D3DERR_INVALIDCALL。

備註

如果磁片區是非動態 (,因為使用量會在建立) 時設定為 0,而且位於視訊記憶體中, (記憶體集區設定為 D3DPOOL_DEFAULT) , D3DXFillVolumeTexture 將會失敗,因為無法鎖定磁片區。

此範例會建立名為 ColorVolumeFill 的函式,其依賴 D3DXFillVolumeTexture。

// 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;
}

規格需求

需求
標頭
D3dx9tex.h
程式庫
D3dx9.lib

另請參閱

D3DX 9 中的紋理函式