다음을 통해 공유


D3DXCreateCubeTextureFromFileInMemoryEx 함수

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

구문

HRESULT D3DXCreateCubeTextureFromFileInMemoryEx(
  _In_    LPDIRECT3DDEVICE9      pDevice,
  _In_    LPCVOID                pSrcData,
  _In_    UINT                   SrcDataSize,
  _In_    UINT                   Size,
  _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_   LPDIRECT3DCUBETEXTURE9 *ppCubeTexture
);

매개 변수

pDevice [in]

형식: LPDIRECT3DDEVICE9

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

pSrcData [in]

형식: LPCVOID

큐브 텍스처를 만들 메모리의 파일에 대한 포인터입니다. 설명 부분을 참조하세요.

SrcDataSize [in]

형식: UINT

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

크기 [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 지정한 경우 애플리케이션은 CheckDeviceFormat을 호출하여 디바이스가 이 작업을 지원하는지 검사 합니다. 동적 텍스처 사용에 대한 자세한 내용은 동적 텍스처 사용을 참조하세요.

형식 [in]

형식: D3DFORMAT

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

[in]

형식: D3DPOOL

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

필터 [in]

형식: DWORD

이미지를 필터링하는 방법을 제어하는 하나 이상의 D3DX_FILTER 조합입니다. 이 매개 변수에 대한 D3DX_DEFAULT 지정하는 것은 D3DX_FILTER_TRIANGLE 지정하는 것과 같습니다. | D3DX_FILTER_DITHER.

MipFilter [in]

형식: DWORD

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

ColorKey [in]

형식: D3DCOLOR

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

pSrcInfo [in, out]

형식: D3DXIMAGE_INFO*

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

pPalette [out]

형식: PALETTEENTRY*

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

ppCubeTexture [out]

형식: LPDIRECT3DCUBETEXTURE9*

만든 큐브 텍스처 개체를 나타내는 IDirect3DCubeTexture9 인터페이스에 대한 포인터의 주소입니다.

반환 값

형식: HRESULT

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

설명

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

큐브 텍스처는 표면의 컬렉션이라는 점에서 다른 표면과 다릅니다. 큐브 텍스처로 SetRenderTarget 을 호출하려면 GetCubeMapSurface 를 사용하여 개별 얼굴을 선택하고 결과 표면을 SetRenderTarget 에 전달해야 합니다.

이 메서드는 애플리케이션 정의 리소스(원시 데이터)인 RT_RCDATA 저장된 이미지 파일을 로드하는 데 사용하도록 설계되었습니다. 그렇지 않으면 이 메서드가 실패합니다.

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

D3DXCreateCubeTextureFromFileInMemoryEx 는 DDS(DirectDraw Surface) 파일 형식을 사용합니다. directX 텍스처 편집기(Dxtex.exe)를 사용하면 다른 파일 형식에서 큐브 맵을 생성하고 DDS 파일 형식으로 저장할 수 있습니다. Dxtex.exe DirectX SDK에서 알아볼 수 있습니다. DirectX SDK에 대한 자세한 내용은 DirectX SDK는 어디에 있나요?를 참조하세요.

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

요구 사항

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

추가 정보

D3DX 9의 텍스처 함수