DirectX Graphics 레퍼런스 Direct3D C/C++ 레퍼런스 인터페이스 IDirect3DDevice9 CreateVolumeTexture [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
볼륨 텍스처 소스를 생성 한다.
구문
HRESULT CreateVolumeTexture(
UINT Width, UINT Height, UINT Depth, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DVolumeTexture9** ppVolumeTexture, HANDLE* pHandle );
파라미터
- Width
- [in] 최상정도의 볼륨 텍스처의 폭 (픽셀 단위). D3DCAPS9 의 D3DPTEXTURECAPS_VOLUMEMAP_POW2 멤버가 설정되어 있는 경우는, 이 값은 2 의 거듭제곱이 아니면 안된다. 밉맵 레벨이 아래의 픽셀 넓이는 1 개 위에의 레벨의 픽셀 넓이를 (단순하게) 반으로 한 값이다. 각각의 넓이는, 1 픽셀의 사이즈에 거둘 수 있다. 따라서, 2 로 나눗셈 한 결과가 0 의 경우, 대신에 1 이 사용된다.
- Height
- [in] 최상정도의 볼륨 텍스처의 높이 (픽셀 단위). D3DCAPS9 의 D3DPTEXTURECAPS_VOLUMEMAP_POW2 멤버가 설정되어 있는 경우는, 이 값은 2 의 거듭제곱이 아니면 안된다. 밉맵 레벨이 아래의 픽셀 넓이는 1 개 위에의 레벨의 픽셀 넓이를 (단순하게) 반으로 한 값이다. 각각의 넓이는, 1 픽셀의 사이즈에 거둘 수 있다. 따라서, 2 로 나눗셈 한 결과가 0 의 경우, 대신에 1 이 사용된다.
- Depth
- [in] 최상정도의 볼륨 텍스처의 깊이 (픽셀 단위). D3DCAPS9 의 D3DPTEXTURECAPS_VOLUMEMAP_POW2 멤버가 설정되어 있는 경우는, 이 값은 2 의 거듭제곱이 아니면 안된다. 밉맵 레벨이 아래의 픽셀 넓이는 1 개 위에의 레벨의 픽셀 넓이를 (단순하게) 반으로 한 값이다. 각각의 넓이는, 1 픽셀의 사이즈에 거둘 수 있다. 따라서, 2 로 나눗셈 한 결과가 0 의 경우, 대신에 1 이 사용된다.
- Levels
- [in] 텍스처에 있는 레벨의 수. 0 을 지정 하면, 밉맵화 볼륨 텍스처를 지원 하는 하드웨어에 대해, Microsoft® Direct3D® 는, 1 × 1 픽셀까지의 모든 텍스처 서브 레벨을 생성한다. 생성된 레벨수를 확인하려면 ,IDirect3DBaseTexture9::GetLevelCount 를 호출한다.
- Usage
- [in] 사용법은 0 으로 할 수 있다. 이 경우 사용법의 값은 설정되지 않는다. 사용법이 필요한 경우는, D3DUSAGE_DYNAMIC 또는 D3DUSAGE_SOFTWAREPROCESSING 를 사용한다. 더 자세한 정보는, 「D3DUSAGE 」를 참조할것.
- Format
- [in] D3DFORMAT 열거형의 멤버. 볼륨 텍스처의 전레벨의 포맷을 기술한다.
- Pool
- [in] D3DPOOL 열거형의 멤버. 볼륨 텍스처의 배치처가 되는 메모리 클래스를 기술한다.
- ppVolumeTexture
- [out, retval] 생성 된 볼륨 텍스처 소스를 나타내는 IDirect3DVolumeTexture9 인터페이스의 포인터 주소.
- pHandle
- [in] 예약이 끝난 상태. 이 파라미터는 NULL 로 설정한다.
반환값
성공했을 경우는,D3D_OK 를 돌려준다.
실패했을 경우는, 다음의 몇개의 값을 돌려준다.
D3DERR_INVALIDCALL 메서드의 호출이 무효이다. 예를 들어, 메서드의 파라미터에 무효인 값이 설정되어 있는 경우 등이다. D3DERR_OUTOFVIDEOMEMORY Direct3D 가 처리를 실시하는데 충분한 디스플레이 메모리가 없다. E_OUTOFMEMORY Direct3D 가 호출을 완료하기 위한 충분한 메모리를 할당할 수가 없었다.