IDirect3DDevice9::CreateTexture 메서드(d3d9.h)

텍스처 리소스를 만듭니다.

구문

HRESULT CreateTexture(
  [in]          UINT              Width,
  [in]          UINT              Height,
  [in]          UINT              Levels,
  [in]          DWORD             Usage,
  [in]          D3DFORMAT         Format,
  [in]          D3DPOOL           Pool,
  [out, retval] IDirect3DTexture9 **ppTexture,
  [in]          HANDLE            *pSharedHandle
);

매개 변수

[in] Width

형식: UINT

텍스처의 최상위 너비(픽셀)입니다. 후속 수준의 픽셀 차원은 이전 수준의 픽셀 차원의 절반(독립적으로)의 잘린 값이 됩니다. 각 차원은 1픽셀 크기의 클램프입니다. 따라서 2로 나누면 0이 되고 대신 1이 수행됩니다.

[in] Height

형식: UINT

텍스처의 최상위 높이(픽셀)입니다. 후속 수준의 픽셀 차원은 이전 수준의 픽셀 차원의 절반(독립적으로)의 잘린 값이 됩니다. 각 차원은 1픽셀 크기의 클램프입니다. 따라서 2로 나누면 0이 되고 대신 1이 수행됩니다.

[in] Levels

형식: UINT

텍스처의 수준 수입니다. 이 값이 0이면 Direct3D는 mipmapped 텍스처를 지원하는 하드웨어에 대해 1x1 픽셀까지 모든 텍스처 오블벨을 생성합니다. IDirect3DBaseTexture9::GetLevelCount를 호출하여 생성된 수준 수를 확인합니다.

[in] Usage

형식: DWORD

사용량은 0일 수 있으며 이는 사용량 값을 나타내지 않습니다. 그러나 사용이 필요한 경우 하나 이상의 D3DUSAGE 상수 조합을 사용합니다. 사용량 매개 변수를 IDirect3D9::CreateDevice의 동작 플래그와 일치시킬 수 있습니다.

[in] Format

형식: D3DFORMAT

텍스처의 모든 수준 형식을 설명하는 D3DFORMAT 열거형 형식의 멤버입니다.

[in] Pool

형식: D3DPOOL

텍스처를 배치해야 하는 메모리 클래스를 설명하는 D3DPOOL 열거형 형식의 멤버입니다.

[out, retval] ppTexture

형식: IDirect3DTexture9**

만든 텍스처 리소스를 나타내는 IDirect3DTexture9 인터페이스에 대한 포인터입니다.

[in] pSharedHandle

형식: HANDLE*

예약되어 있습니다. 이 매개 변수를 NULL로 설정합니다. 이 매개 변수는 Windows Vista용 Direct3D 9에서 리소스를 공유하는 데 사용할 수 있습니다.

반환 값

형식: HRESULT

메서드가 성공하면 반환 값이 D3D_OK. 메서드가 실패하면 반환 값은 D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY, E_OUTOFMEMORY 중 하나일 수 있습니다.

설명

애플리케이션은 D3DUSAGE_AUTOGENMIPMAP IDirect3D9::CheckDeviceFormat을 호출하여 특정 형식으로 Mipmap 자동 생성(Direct3D 9)에 대한 지원을 검색할 수 있습니다. IDirect3D9::CheckDeviceFormat이 D3DOK_NOAUTOGEN 반환하면 IDirect3DDevice9::CreateTexture가 성공하지만 한 수준 텍스처를 반환합니다.

Windows Vista CreateTexture에서 시스템 메모리 포인터에서 텍스처를 만들어 애플리케이션에서 시스템 메모리의 사용, 할당 및 삭제에 대한 유연성을 높일 수 있습니다. 예를 들어 애플리케이션은 GDI 시스템 메모리 비트맵 포인터를 전달하고 주위에 Direct3D 텍스처 인터페이스를 가져올 수 있습니다. CreateTexture에서 시스템 메모리 포인터를 사용하는 경우 다음과 같은 제한 사항이 있습니다.

  • 텍스처의 피치는 픽셀당 바이트 수를 곱한 너비와 같아야 합니다.
  • 단일 Mipmap 수준이 있는 텍스처만 지원됩니다. Levels 인수는 1이어야 합니다.
  • Pool 인수는 D3DPOOL_SYSTEMMEM 합니다.
  • pSharedHandle 인수는 시스템 메모리 지점을 보유할 수 있는 버퍼에 대한 유효한 포인터여야 합니다. *pSharedHandle은 텍스처 너비의 크기가 바이트 * 텍스처 높이 * 텍스처 형식의 픽셀당 바이트인 시스템 메모리에 대한 유효한 포인터여야 합니다.

요구 사항

   
대상 플랫폼 Windows
헤더 d3d9.h(D3D9.h 포함)
라이브러리 D3D9.lib

추가 정보

D3DXCreateTexture

D3DXCreateTextureFromFile

D3DXCreateTextureFromFileEx

D3DXCreateTextureFromFileInMemory

D3DXCreateTextureFromFileInMemoryEx

D3DXCreateTextureFromResource

D3DXCreateTextureFromResourceEx

IDirect3DDevice9