DirectX Graphics 레퍼런스 Direct3D extension (D3DX) C/C++ 레퍼런스 함수 텍스처 함수 D3DXFillVolumeTexture   [목차열람] [주소복사] [슬롯비우기]
D3DXFillVolumeTexture 함수
 
Microsoft DirectX 9.0

D3DXFillVolumeTexture 함수


사용자 지정의 함수를 사용해, 지정한 볼륨 텍스처의 각 밉레벨의 각 텍셀을 전부 칠한다.

구문

HRESULT D3DXFillVolumeTexture(      

    LPDIRECT3DVOLUMETEXTURE9 pTexture,     LPD3DXFILL3D pFunction,     LPVOID pData );

파라미터

pTexture
[out, retval] IDirect3DVolumeTexture9 인터페이스의 포인터. 전부 칠하는 텍스처를 나타낸다.
pFunction
[in]  각 텍셀의 값을 계산하기 위해서 사용하는 사용자 지정의 평가 함수의 포인터. 이 함수는,LPD3DFILL3D 의 prototype에 따르고 있다.
pData
[in] 사용자 정의 데이터의 임의의 블록의 포인터. 이 포인터가,pFunction 로 지정한 함수에 건네진다.

반환값

성공했을 경우는,D3D_OK 를 돌려준다.

실패했을 경우는, 다음의 몇개의 값을 돌려준다.

D3DERR_INVALIDCALL메서드의 호출이 무효이다. 예를 들어, 메서드의 파라미터에 무효인 값이 설정되어 있는 경우 등이다.


주의

볼륨이 비동적이어 (생성시에 사용 방법의 파라미터가 0 으로 설정되어 있었기 때문에), 비디오 메모리내에 배치되고 있는 (메모리 풀이 D3DPOOL_DEFAULT 로 설정되어 있다) 경우,D3DXFillVolumeTexture 는 실패한다. 이것은, Direct3D extension (D3DX)가 비디오 메모리내의 비동적인 볼륨을 잠글 수 없기 때문이다.

다음에, D3DXFillVolumeTexture 를 사용한 ColorCubeFill 로 불리는 함수를 생성 하는 예를 나타낸다.

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


// Create volume texture using D3DXFillVolumeTexture
if (FAILED (hr = D3DXFillVolumeTexture (m_pTexture, ColorVolumeFill, NULL)))
{
       return hr;
}

함수의 정보

헤더d3dx9tex.h
임포트 라이브러리d3dx9.lib
최저한의 operating system Windows 98


© 2002 Microsoft Corporation. All rights reserved.
↑TOP