DirectX Graphics 레퍼런스 Direct3D extension (D3DX) C/C++ 레퍼런스 함수 텍스처 함수 D3DXCreateTextureFromFileEx   [목차열람] [주소복사] [슬롯비우기]
D3DXCreateTextureFromFileEx 함수
 
Microsoft DirectX 9.0

D3DXCreateTextureFromFileEx 함수


파일을 기본으로 해 텍스처를 생성 한다. 이것은,D3DXCreateTextureFromFile 의 상위의 함수이다.

구문

HRESULT D3DXCreateTextureFromFileEx(      

    LPDIRECT3DDEVICE9 pDevice,     LPCTSTR pSrcFile,     UINT Width,     UINT Height,     UINT MipLevels,     DWORD Usage,     D3DFORMAT Format,     D3DPOOL Pool,     DWORD Filter,     DWORD MipFilter,     D3DCOLOR ColorKey,     D3DXIMAGE_INFO *pSrcInfo,     PALETTEENTRY *pPalette,     LPDIRECT3DTEXTURE9 *ppTexture );

파라미터

pDevice
[in] IDirect3DDevice9 인터페이스의 포인터. 텍스처에 관련지을 수 있는 장치를 나타낸다.
pSrcFile
[in] 파일명을 지정하는 캐릭터 라인의 포인터. 컴파일러의 설정이 Unicode 를 요구하고 있는 경우, 데이터 타입 LPCTSTR 는 LPCWSTR 가 된다. 그 이외의 경우는, 이 캐릭터 라인의 데이터 타입은 LPCSTR 가 된다. 「주의」를 참조할것.
Width
[in] 폭 (픽셀 단위). 이 값이 0 또는 D3DX_DEFAULT 의 경우, 넓이는 파일로부터 취득된다.
Height
[in] 높이 (픽셀 단위). 이 값이 0 또는 D3DX_DEFAULT 의 경우, 넓이는 파일로부터 취득된다.
MipLevels
[in] 요구되는 밉레벨의 수. 이 값이 0 또는 D3DX_DEFAULT 의 경우는, 완전한 밉맵 체인이 생성 된다.
Usage
[in] 0, D3DUSAGE_RENDERTARGET, 또는 D3DUSAGE_DYNAMIC. 이 플래그를 D3DUSAGE_RENDERTARGET 로 설정 하면, 그 표면은 렌더링 타겟으로서 사용되는 것을 나타낸다. 리소스는,IDirect3DDevice9::SetRenderTarget 메서드의 pNewRenderTarget 파라미터에 건네줄 수가 있다. D3DUSAGE_RENDERTARGET 또는 D3DUSAGE_DYNAMIC 를 지정하는 경우,Pool 를 D3DPOOL_DEFAULT 로 설정해, 애플리케이션은 IDirect3D9::CheckDeviceFormat 를 호출해, 장치가 이 처리를 지원 하고 있는 것을 확인할 필요가 있다. D3DUSAGE_DYNAMIC 는, 표면을 동적으로 처리할 필요가 있는 것을 나타낸다. 동적 텍스처의 사용법의 더 자세한 정보는, 「동적 텍스처의 사용법」을 참조할것.
Format
D3DFORMAT 열거형의 멤버. 텍스처에 대해서 요구된 픽셀 포맷을 기술한다. 돌려받는 텍스처의 포맷은,Format 로 지정한 포맷과 다른 경우가 있다. 애플리케이션은, 돌려주어진 텍스처의 포맷을 확인할 필요가 있다. Format 의 값이 D3DFMT_UNKNOWN 의 경우, 포맷은 파일로부터 취득된다.
Pool
[in] D3DPOOL 열거형의 멤버. 텍스처의 배치처가 되는 메모리 클래스를 기술한다.
Filter
[in] 이미지를 필터링 하는 방법을 제어하는 1 개 혹은 복수의 D3DX_FILTER 의 편성. 이 파라미터에 D3DX_DEFAULT 를 지정하는 것은, D3DX_FILTER_TRIANGLE | D3DX_FILTER_DITHER 를 지정하는 것으로 동일하다.
MipFilter
[in] 이미지를 필터링 하는 방법을 제어하는 1 개 혹은 복수의 D3DX_FILTER 의 편성. 이 파라미터에 D3DX_DEFAULT 를 지정하는 것은, D3DX_FILTER_BOX 를 지정하는 것으로 동일하다.
ColorKey
[in] 투명이 되는 D3DCOLOR 의 값. 컬러 키를 무효로 하는 경우는 0 을 지정한다. 소스 이미지의 포맷과는 관계없이, 이것은 항상 32 비트의 ARGB 컬러이다. 알파가 의미가 있고, 보통은 컬러 키를 불투명하게 하는 경우는 FF 를 지정한다. 따라서, 불투명한 흑의 경우, 값은 0xFF000000 가 된다.
pSrcInfo
[in, out] 소스 이미지 파일내의 데이터의 기술을 저장 하는 D3DXIMAGE_INFO 구조체의 포인터, 또는 NULL.
pPalette
[out] 저장 하는 256 색팔레트를 나타내는 PALETTEENTRY 구조체의 포인터, 또는 NULL.
ppTexture
[out] 생성 된 큐브 텍스처 개체를 나타내는,IDirect3DTexture9 인터페이스의 포인터 주소.

반환값

성공했을 경우는,D3D_OK 를 돌려준다.

실패했을 경우는, 다음의 몇개의 값을 돌려준다.

D3DERR_NOTAVAILABLE이 장치는, 조회된 테크닉을 지원 하고 있지 않다.
D3DERR_OUTOFVIDEOMEMORYMicrosoft® Direct3D® 가 처리를 실시하는데 충분한 디스플레이 메모리가 없다.
D3DERR_INVALIDCALL메서드의 호출이 무효이다. 예를 들어, 메서드의 파라미터에 무효인 값이 설정되어 있는 경우 등이다.
D3DXERR_INVALIDDATA데이터가 무효이다.
E_OUTOFMEMORYDirect3D 가 호출을 완료하기 위한 충분한 메모리를 할당할 수가 없었다.


주의

컴파일러의 설정에 의해 함수의 버전도 정해진다. Unicode 가 정의되고 있는 경우, 이 함수의 호출은 D3DXCreateTextureFromFileExW 가 된다. 그 이외의 경우는 ANSI 캐릭터 라인을 사용하므로, 이 함수의 호출은 D3DXCreateTextureFromFileExA 가 된다.

이 함수가 지원 하고 있는 파일 포맷은,. bmp,. dds,. dib,. jpg,. png, 및 . tga 이다.

밉맵 된 텍스처의 각 레벨에는, 로드 된 텍스처가 자동적으로 저장 된다.

밉맵 된 텍스처에 이미지를 로드할 때, 장치에 따라서는, 1x1 의 이미지로 변환하지 못하고, 함수가 실패하는 일이 있다. 이러한 경우는, 이미지를 수동으로 로드할 필요가 있다.

D3DXCreateTextureFromFileEx 를 사용해 최적인 퍼포먼스를 얻으려면 , 다음 일을 실시한다.

  1. 이미지의 스케일링 및 포맷 변환을 로드시에 실시하면, 처리에 시간이 걸리는 경우가 있다. 이미지는, 사용할 때의 포맷 및 해상도로 보존한다. 타겟 하드웨어로 처리할 수 있는 것이 2 의 거듭제곱의 넓이만의 경우는, 2 의 거듭제곱의 넓이를 사용해 이미지를 생성 해 보존한다.
  2. 로드시에 밉맵 이미지를 생성 하는 경우는, D3DXFILTER_BOX 를 사용해 필터링 한다. 박스 필터는, D3DXFILTER_TRIANGLE 등의 다른 종류의 필터보다 처리가 빠르다.
  3. DDS 파일의 사용을 검토한다. Microsoft DirectX® 9.0 텍스트 포맷은 모두 . dds 파일을 사용해 표현할 수 있기 (위해)때문에,. dds 파일은 Direct3D extension (D3DX)에 있어 읽기나 들이마셔. 또,. dds 파일에 밉맵을 보존할 수가 있어 임의의 밉맵 생성 알고리즘을 사용해 이미지를 생성 할 수 있다.

함수의 정보

헤더d3dx9tex.h
임포트 라이브러리d3dx9.lib
최저한의 operating system Windows 98

참조

D3DXCreateTextureFromFile ,텍스처의 색변환


© 2002 Microsoft Corporation. All rights reserved.
↑TOP