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

D3DXLoadSurfaceFromResource 함수


리소스로부터 표면을 로드한다.

구문

HRESULT D3DXLoadSurfaceFromResource(      

    LPDIRECT3DSURFACE9 pDestSurface,     const PALETTEENTRY *pDestPalette,     const RECT *pDestRect,     HMODULE hSrcModule,     LPCTSTR pSrcResource,     const RECT *pSrcRect,     DWORD Filter,     D3DCOLOR ColorKey,     D3DXIMAGE_INFO *pSrcInfo );

파라미터

pDestSurface
[in] IDirect3DSurface9 인터페이스의 포인터. 목적지의 표면을 지정한다. 이 표면이 이미지를 받는다.
pDestPalette
[in] 256 색의 목적지 팔레트인 PALETTEENTRY 구조체의 포인터, 또는 NULL.
pDestRect
[in] RECT 구조체의 포인터. 목적지 직사각형을 지정한다. 이 파라미터에 NULL 를 설정해, 표면 전체를 지정한다.
hSrcModule
[in] 리소스를 특정하고 있는 모듈에의 핸들. 또는, operating system가 현재의 프로세스에 사용하는 이미지에 관련지을 수 있는 모듈의 경우는 NULL.
pSrcResource
[in] 리소스명을 지정하는 캐릭터 라인의 포인터. 컴파일러의 설정이 Unicode 를 요구하고 있는 경우, 데이터 타입 LPCTSTR 는 LPCWSTR 가 된다. 그 이외의 경우는, 이 캐릭터 라인의 데이터 타입은 LPCSTR 가 된다. 「주의」를 참조할것.
pSrcRect
[in] RECT 구조체의 포인터. 전송원직사각형을 지정한다. 이 파라미터에 NULL 를 설정해, 이미지 전체를 지정한다.
Filter
[in] 이미지를 필터링 하는 방법을 제어하는 1 개 혹은 복수의 D3DX_FILTER 의 편성. 이 파라미터에 D3DX_DEFAULT 를 지정하는 것은, D3DX_FILTER_TRIANGLE | D3DX_FILTER_DITHER 를 지정하는 것으로 동일하다.
ColorKey
[in] 투명이 되는 D3DCOLOR 의 값. 컬러 키를 무효로 하는 경우는 0 을 지정한다. 소스 이미지의 포맷과는 관계없이, 이것은 항상 32 비트의 ARGB 컬러이다. 알파가 의미가 있고, 보통은 컬러 키를 불투명하게 하는 경우는 FF 를 지정한다. 따라서, 불투명한 흑의 경우, 값은 0xFF000000 가 된다.
pSrcInfo
[in, out] 소스 이미지 파일내의 데이터의 기술을 저장 하는 D3DXIMAGE_INFO 구조체의 포인터, 또는 NULL.

반환값

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

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

D3DERR_INVALIDCALL메서드의 호출이 무효이다. 예를 들어, 메서드의 파라미터에 무효인 값이 설정되어 있는 경우 등이다.
D3DXERR_INVALIDDATA데이터가 무효이다.


주의

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

로드하는 리소스는, 리소스 타입이 RT_BITMAP 또는 RT_RCDATA 가 아니면 안된다. 비트 맵 이외의 포맷 (. tga,. jpg,. dds 등)을 로드하는 경우는, 리소스 타입 RT_RCDATA 를 사용한다.

이 함수는, 압축 텍스처 포맷간의 변환을 처리한다.

레벨 제로 이외의 표면에 기입해도, 더티 직사각형은 갱신되지 않는다. D3DXLoadSurfaceFromFile 를 호출했을 때에, 표면이 아직 더티가 아닌 (그러한 일은, 보통의 사용 방법 에서는 있을 수 $다) 경우, 애플리케이션은 표면에 대해서 IDirect3DTexture9::AddDirtyRect 를 명시적으로 호출할 필요가 있다.

함수의 정보

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

참조

텍스처의 색변환


© 2002 Microsoft Corporation. All rights reserved.
↑TOP