다음을 통해 공유


D3DXCreateTextureFromFileInMemoryEx 함수

메모리의 파일에서 텍스처를 만듭니다. D3DXCreateTextureFromFileInMemory보다 고급 함수입니다.

구문

HRESULT D3DXCreateTextureFromFileInMemoryEx(
  _In_    LPDIRECT3DDEVICE9  pDevice,
  _In_    LPCVOID            pSrcData,
  _In_    UINT               SrcDataSize,
  _In_    UINT               Width,
  _In_    UINT               Height,
  _In_    UINT               MipLevels,
  _In_    DWORD              Usage,
  _In_    D3DFORMAT          Format,
  _In_    D3DPOOL            Pool,
  _In_    DWORD              Filter,
  _In_    DWORD              MipFilter,
  _In_    D3DCOLOR           ColorKey,
  _Inout_ D3DXIMAGE_INFO     *pSrcInfo,
  _Out_   PALETTEENTRY       *pPalette,
  _Out_   LPDIRECT3DTEXTURE9 *ppTexture
);

매개 변수

pDevice [in]

형식: LPDIRECT3DDEVICE9

텍스처와 연결할 디바이스를 나타내는 IDirect3DDevice9 인터페이스에 대한 포인터입니다.

pSrcData [in]

형식: LPCVOID

텍스처를 만들 메모리의 파일에 대한 포인터입니다.

SrcDataSize [in]

형식: UINT

메모리에 있는 파일의 크기(바이트)입니다.

너비 [in]

형식: UINT

너비(픽셀)입니다. 이 값이 0이거나 D3DX_DEFAULT 경우 파일에서 차원이 가져옵니다.

높이 [in]

형식: UINT

높이(픽셀)입니다. 이 값이 0이거나 D3DX_DEFAULT 경우 파일에서 차원이 가져옵니다.

MipLevels [in]

형식: UINT

요청된 밉 수준 수입니다. 이 값이 0이거나 D3DX_DEFAULT 경우 전체 mipmap 체인이 만들어집니다.

사용량 [in]

형식: DWORD

0, D3DUSAGE_RENDERTARGET 또는 D3DUSAGE_DYNAMIC. 이 플래그를 D3DUSAGE_RENDERTARGET 설정하면 표면이 렌더링 대상으로 사용됨을 나타냅니다. 그런 다음 리소스를 SetRenderTarget 메서드의 pNewRenderTarget 매개 변수에 전달할 수 있습니다. D3DUSAGE_RENDERTARGET 또는 D3DUSAGE_DYNAMIC 지정한 경우 을 D3DPOOL_DEFAULT 설정해야 하며, 애플리케이션은 CheckDeviceFormat을 호출하여 디바이스가 이 작업을 지원하는지 검사 합니다. 동적 텍스처 사용에 대한 자세한 내용은 동적 텍스처 사용을 참조하세요.

형식 [in]

형식: D3DFORMAT

텍스처에 대해 요청된 픽셀 형식을 설명하는 D3DFORMAT 열거형 형식의 멤버입니다. 반환된 텍스처의 형식이 Format으로 지정된 형식과 다를 수 있습니다. 애플리케이션은 반환된 텍스처의 형식을 검사 합니다. D3DFMT_UNKNOWN 경우 파일에서 형식을 가져옵니다. D3DFMT_FROM_FILE 경우 형식은 파일에 있는 그대로 수행되며, 디바이스 기능을 위반하는 경우 호출이 실패합니다.

[in]

형식: D3DPOOL

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

필터 [in]

형식: DWORD

이미지를 필터링하는 방법을 제어하는 하나 이상의 플래그 조합입니다. 이 매개 변수에 D3DX_DEFAULT 지정하는 것은 D3DX_FILTER_TRIANGLE 지정하는 것과 같습니다. | D3DX_FILTER_DITHER. 각 유효한 필터는 D3DX_FILTER 플래그 중 하나를 포함해야 합니다.

MipFilter [in]

형식: DWORD

이미지를 필터링하는 방법을 제어하는 하나 이상의 플래그 조합입니다. 이 매개 변수에 D3DX_DEFAULT 지정하는 것은 D3DX_FILTER_BOX 지정하는 것과 같습니다. 각 유효한 필터는 D3DX_FILTER 플래그 중 하나를 포함해야 합니다. 또한 비트 27-31을 사용하여 .dds 텍스처가 메모리에 로드될 때 건너뛸 밉 수준 수를 지정합니다(Mipmap 체인 맨 위에서). 이를 통해 최대 32개의 수준을 건너뛸 수 있습니다.

ColorKey [in]

형식: D3DCOLOR

투명 검정으로 바꿀 D3DCOLOR 값이거나 색 키를 사용하지 않도록 설정하려면 0입니다. 원본 이미지 형식과 관계없이 항상 32비트 ARGB 색입니다. 알파는 중요하며 일반적으로 불투명 색 키의 경우 FF로 설정해야 합니다. 따라서 불투명 검정의 경우 값은 0xFF000000 같습니다.

pSrcInfo [in, out]

형식: D3DXIMAGE_INFO*

원본 이미지 파일 또는 NULL의 데이터에 대한 설명으로 채울 D3DXIMAGE_INFO 구조체에 대한 포인터입니다.

pPalette [out]

형식: PALETTEENTRY*

채울 256색 팔레트 또는 NULL을 나타내는 PALETTEENTRY 구조체에 대한 포인터입니다. 설명 부분을 참조하세요.

ppTexture [out]

형식: LPDIRECT3DTEXTURE9*

생성된 텍스처 개체를 나타내는 IDirect3DTexture9 인터페이스에 대한 포인터의 주소입니다.

반환 값

형식: HRESULT

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

설명

이 함수는 .bmp, .dds, .dib, .hdr, .jpg, .pfm, .png, .ppm 및 .tga 파일 형식을 지원합니다. D3DXIMAGE_FILEFORMAT 참조하세요.

PALETTEENTRY에 대한 자세한 내용은 플랫폼 SDK를 참조하세요. DirectX 8.0을 기준으로 PALETTEENTRY 구조체의 peFlags 멤버는 플랫폼 SDK에 설명된 대로 작동하지 않습니다. peFlags 멤버는 이제 8비트 팔레트 형식의 알파 채널입니다.

.dds 파일을 로드하는 동안 mipmap 수준을 건너뛰는 경우 D3DX_SKIP_DDS_MIP_LEVELS 매크로를 사용하여 MipFilter 값을 생성합니다. 이 매크로는 건너뛸 수준 수와 필터 형식을 사용하고 필터 값을 반환합니다. 그러면 MipFilter 매개 변수에 전달됩니다.

요구 사항

요구 사항
헤더
D3dx9tex.h
라이브러리
D3dx9.lib

추가 정보

D3DXCreateTextureFromFileInMemory

D3DX 9의 텍스처 함수