IDirect3DDevice9::CreateTexture 메서드(d3d9helper.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
헤더 d3d9helper.h(D3D9.h 포함)
라이브러리 D3D9.lib

추가 정보

D3DXCreateTexture

D3DXCreateTextureFromFile

D3DXCreateTextureFromFileEx

D3DXCreateTextureFromFileInMemory

D3DXCreateTextureFromFileInMemoryEx

D3DXCreateTextureFromResource

D3DXCreateTextureFromResourceEx

IDirect3DDevice9