Функция 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;
}
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|
См. также раздел