DirectX Graphics 레퍼런스 Direct3D extension (D3DX) C/C++ 레퍼런스 함수 텍스처 함수 D3DXLoadSurfaceFromMemory [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
메모리로부터 표면을 로드한다.
구문
HRESULT D3DXLoadSurfaceFromMemory(
LPDIRECT3DSURFACE9 pDestSurface, CONST PALETTEENTRY *pDestPalette, CONST RECT *pDestRect, LPCVOID pSrcMemory, D3DFORMAT SrcFormat, UINT SrcPitch, CONST PALETTEENTRY *pSrcPalette, CONST RECT *pSrcRect, DWORD Filter, D3DCOLOR ColorKey );
파라미터
- pDestSurface
- [in] IDirect3DSurface9 인터페이스의 포인터. 목적지의 표면을 지정한다. 이 표면이 이미지를 받는다.
- pDestPalette
- [in] 256 색의 목적지 팔레트인 PALETTEENTRY 구조체의 포인터, 또는 NULL.
- pDestRect
- [in] RECT 구조체의 포인터. 목적지 직사각형을 지정한다. 이 파라미터에 NULL 를 설정해, 표면 전체를 지정한다.
- pSrcMemory
- [in] 메모리내에 있는 소스 이미지의 좌상구석의 포인터.
- SrcFormat
- [in] D3DFORMAT 열거형의 멤버. 소스 이미지의 픽셀 포맷이다.
- SrcPitch
- [in] 소스 이미지의 피치 (바이트 단위). DXT 포맷의 경우, 이 수치는 셀로 구성되는 1 개의 행의 폭 (바이트 단위)을 나타낸다.
- pSrcPalette
- [in] 256 색의 전송원팔레트인 PALETTEENTRY 구조체의 포인터, 또는 NULL.
- 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 가 된다.
반환값
성공했을 경우는,D3D_OK 를 돌려준다.
실패했을 경우는, 다음의 몇개의 값을 돌려준다.
D3DERR_INVALIDCALL 메서드의 호출이 무효이다. 예를 들어, 메서드의 파라미터에 무효인 값이 설정되어 있는 경우 등이다. D3DXERR_INVALIDDATA 데이터가 무효이다.
주의
이 함수는, 압축 텍스처 포맷간의 변환을 처리한다.
레벨 제로 이외의 표면에 기입해도, 더티 직사각형은 갱신되지 않는다. D3DXLoadSurfaceFromMemory 를 호출했을 때에, 표면이 아직 더티가 아닌 (그러한 일은, 보통의 사용 방법 에서는 있을 수 $다) 경우, 애플리케이션은 표면에 대해서 IDirect3DTexture9::AddDirtyRect 를 명시적으로 호출할 필요가 있다.
함수의 정보
헤더 d3dx9tex.h 임포트 라이브러리 d3dx9.lib 최저한의 operating system Windows 98
참조
텍스처의 색변환