반응형

http://www.silverwolf.co.kr/4876




파일을 기본으로 해 텍스처를 생성 한다.

구문

HRESULT D3DXCreateTextureFromFile(      

    LPDIRECT3DDEVICE9 pDevice,    LPCTSTR pSrcFile,    LPDIRECT3DTEXTURE9 *ppTexture );

파라미터

pDevice
[in] IDirect3DDevice9 인터페이스의 포인터. 텍스처에 관련지을 수 있는 장치를 나타낸다.
pSrcFile
[in] 파일명을 지정하는 캐릭터 라인의 포인터. 컴파일러의 설정이 Unicode 를 요구하고 있는 경우, 데이터 타입 LPCTSTR 는 LPCWSTR 가 된다. 그 이외의 경우는, 이 캐릭터 라인의 데이터 타입은 LPCSTR 가 된다. 「주의」를 참조할것.
ppTexture
[out] 생성 된 큐브 텍스처 개체를 나타내는,IDirect3DTexture9 인터페이스의 포인터 주소.

반환값

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

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

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

주의

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

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

이 함수는 D3DXCreateTextureFromFileExW(pDevice, pSrcFile, D3DX_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED,D3DX_DEFAULT, D3DX_DEFAULT, 0, NULL, NULL, ppTexture)와 동일하다.

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

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

이 함수를 사용해 생성 한 리소스는, D3DPOOL_MANAGED 로 나타나는 메모리 클래스에 배치된다.

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

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

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

    참조

    D3DXCreateTextureFromFileEx ,텍스처의 색변환


반응형

'그래픽스(Graphics) > DirectX9~12' 카테고리의 다른 글

모션 블러(Motion Blur)  (0) 2013.01.25
인스턴싱 (Instancing)  (1) 2013.01.25
다중스트림 셰이더  (0) 2013.01.21
D3DVERTEXELEMENT9 사용법  (0) 2013.01.21
Fast Object Picking  (0) 2013.01.19

+ Recent posts