D3DXFillVolumeTexture 函数
使用用户提供的函数填充给定体积纹理的每个 mip 级别的每个纹素。
语法
HRESULT D3DXFillVolumeTexture(
_Out_ LPDIRECT3DVOLUMETEXTURE9 pTexture,
_In_ LPD3DXFILL3D pFunction,
_In_ LPVOID pData
);
参数
-
pTexture [out]
-
指向 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;
}
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|
另请参阅