DirectX Graphics 레퍼런스 Direct3D extension (D3DX) C/C++ 레퍼런스 인터페이스 ID3DXSprite Draw   [목차열람] [주소복사] [슬롯비우기]
ID3DXSprite::Draw 메서드
 
Microsoft DirectX 9.0

ID3DXSprite::Draw 메서드


스크린 공간에 단순한 스프라이트를 드로잉(Drawing) 한다.

구문

HRESULT Draw(      

    LPDIRECT3DTEXTURE9 pSrcTexture,     CONST RECT *pSrcRect,     CONST D3DXVECTOR2 *pScaling,     CONST D3DXVECTOR2 *pRotationCenter,     FLOAT Rotation,     CONST D3DVECTOR2 *pTranslation,     D3DCOLOR Color );

파라미터

pSrcTexture
[in] 스프라이트에 사용하는 소스 이미지를 나타내는 IDirect3DTexture9 인터페이스의 포인터.
pSrcRect
[in] 소스 텍스처의 어느 부분을 스프라이트에 사용하는지를 나타내는 RECT 구조체의 포인터. 이 파라미터를 NULL 로 하면 소스 이미지 전체가 스프라이트에 사용된다. 다만, 소스 이미지의 부분적인 직사각형을 지정할 수도 있다. 변환의 전에, 스프라이트의 사이즈가 pSrcRect 에 의해 좌상구석을 시점 (0,0)으로서 정의된다.
pScaling
[in] 스케일링 벡터를 저장 하는 D3DXVECTOR2 구조체의 포인터. 이 파라미터가 NULL 의 경우는, 값 (1.0, 1.0)을 사용한다. pScaling 는 벡터이므로, 승수 1.0 을 사용하면 소스 이미지의 사이즈가 보관 유지된다.
pRotationCenter
[in] 회전의 중심을 식별하는 스크린 픽셀내의 포인트를 저장 하는,D3DXVECTOR2 구조체의 포인터. 이 인수가 NULL 의 경우는, 텍스처의 좌상구석의 포인트 (0,0)가 사용된다.
Rotation
[in] 반시계회전의 회전을 지정하는 값 (라디안 단위).
pTranslation
[in] 스크린 픽셀에서의 평행이동값을 저장 하는 D3DXVECTOR2 구조체의 포인터. 이 인수가 NULL 의 경우는, 포인트 (0,0)를 사용한다.
Color
[in] D3DCOLOR 형. 이 값에 의해 컬러 채널과 알파 채널이 곱셈된다. 0xFFFFFFFF 라고 하는 값을 사용하면 원의 소스 컬러 및 알파 데이터가 유지된다.

반환값

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

실패했을 경우는,D3DERR_INVALIDCALL 를 돌려준다.



주의

변환의 순서는, 다음과 같이 지정된다.

(Msc)-1 * (Msr)-1 * Ms * Msr * Msc * (Mrc)-1 * Mr * Mrc * Mt

여기서

이 메서드는,IDirect3DDevice9::BeginSceneIDirect3DDevice9::EndScene 의 페어의 사이에 호출해야 한다.

ID3DXSprite::Begin 가 불려 가지 않은 경우, 이 메서드는 내부에서 ID3DXSprite::BeginID3DXSprite::End 를 호출한다. 이 메서드 또는 ID3DXSprite::DrawTransform , 혹은 그 양쪽 모두를 계속해 호출하는 경우는,ID3DXSprite::DrawTransform 곳의 메서드가 매회 내부에서 ID3DXSprite::BeginID3DXSprite::End 를 호출하는 것에 의해 생기는 여분의 오버헤드를 회피하기 위해(때문에),ID3DXSprite::Begin 를 반드시 호출하는 것.

이미지를 미러링 하려면 ,pScaling 파라미터에 적절한 방향 (x 또는 y, 혹은 그 양쪽 모두)의 부의 벡터를 지정해,pSrcRect 파라미터로 지정되고 있는 전송원직사각형의 폭 또는 높이, 혹은 그 양쪽 모두를,pTranslation 파라미터로 지정되고 있는 값에 추가한다. 이것에 의해 회전의 원점이 바뀌는 것에 주의 해야 한다.



© 2002 Microsoft Corporation. All rights reserved.
↑TOP