DirectX Graphics 레퍼런스 Direct3D extension (D3DX) C/C++ 레퍼런스 함수 텍스처 함수 D3DXCreateTextureFromFileEx [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
파일을 기본으로 해 텍스처를 생성 한다. 이것은,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_OUTOFVIDEOMEMORY Microsoft® Direct3D® 가 처리를 실시하는데 충분한 디스플레이 메모리가 없다. D3DERR_INVALIDCALL 메서드의 호출이 무효이다. 예를 들어, 메서드의 파라미터에 무효인 값이 설정되어 있는 경우 등이다. D3DXERR_INVALIDDATA 데이터가 무효이다. E_OUTOFMEMORY Direct3D 가 호출을 완료하기 위한 충분한 메모리를 할당할 수가 없었다.
주의
컴파일러의 설정에 의해 함수의 버전도 정해진다. Unicode 가 정의되고 있는 경우, 이 함수의 호출은 D3DXCreateTextureFromFileExW 가 된다. 그 이외의 경우는 ANSI 캐릭터 라인을 사용하므로, 이 함수의 호출은 D3DXCreateTextureFromFileExA 가 된다.
이 함수가 지원 하고 있는 파일 포맷은,. bmp,. dds,. dib,. jpg,. png, 및 . tga 이다.
밉맵 된 텍스처의 각 레벨에는, 로드 된 텍스처가 자동적으로 저장 된다.
밉맵 된 텍스처에 이미지를 로드할 때, 장치에 따라서는, 1x1 의 이미지로 변환하지 못하고, 함수가 실패하는 일이 있다. 이러한 경우는, 이미지를 수동으로 로드할 필요가 있다.
D3DXCreateTextureFromFileEx 를 사용해 최적인 퍼포먼스를 얻으려면 , 다음 일을 실시한다.
- 이미지의 스케일링 및 포맷 변환을 로드시에 실시하면, 처리에 시간이 걸리는 경우가 있다. 이미지는, 사용할 때의 포맷 및 해상도로 보존한다. 타겟 하드웨어로 처리할 수 있는 것이 2 의 거듭제곱의 넓이만의 경우는, 2 의 거듭제곱의 넓이를 사용해 이미지를 생성 해 보존한다.
- 로드시에 밉맵 이미지를 생성 하는 경우는, D3DXFILTER_BOX 를 사용해 필터링 한다. 박스 필터는, D3DXFILTER_TRIANGLE 등의 다른 종류의 필터보다 처리가 빠르다.
- DDS 파일의 사용을 검토한다. Microsoft DirectX® 9.0 텍스트 포맷은 모두 . dds 파일을 사용해 표현할 수 있기 (위해)때문에,. dds 파일은 Direct3D extension (D3DX)에 있어 읽기나 들이마셔. 또,. dds 파일에 밉맵을 보존할 수가 있어 임의의 밉맵 생성 알고리즘을 사용해 이미지를 생성 할 수 있다.
함수의 정보
헤더 d3dx9tex.h 임포트 라이브러리 d3dx9.lib 최저한의 operating system Windows 98
참조
D3DXCreateTextureFromFile ,텍스처의 색변환