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

IDirect3DDevice9::SetClipStatus 메서드


클립 스테이터스를 설정한다.

구문

HRESULT SetClipStatus(      

    const D3DCLIPSTATUS9 *pClipStatus );

파라미터

pClipStatus
[in] 설정하는 클립 스테이터스를 기술하는 D3DCLIPSTATUS9 구조체의 포인터.

반환값

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

인수중 한쪽이 무효인 경우는,D3DERR_INVALIDCALL 를 돌려준다.



주의

클립 스테이터스는, 소프트웨어 정점 처리로 사용한다. 따라서, 퓨어 하드웨어나 비퓨어 하드웨어의 처리 장치에서는, 이 메서드는 지원 되지 않는다. 퓨어 장치의 더 자세한 정보는, 「D3DCREATE 」를 참조할것.

IDirect3DDevice9::ProcessVertices ,IDirect3DDevice9::DrawPrimitive , 또는 그 외의 드로잉(Drawing) 기능에 의한 정점 처리중에 클리핑을 유효하게 하면, Microsoft® Direct3D® 는 정점 마다 클립 코드를 계산한다. 클립 코드는, D3DCS_* 비트의 편성이다. 정점이 특정의 클립면의 밖에 있는 경우는, 클립 코드내의 대응하는 비트가 설정된다. Direct3D 에서는,ClipUnionClipIntersection 멤버를 가지는 D3DCLIPSTATUS9 를 사용해 클립 스테이터스를 보관 유지한다. ClipUnion 는 전정점의 클립 코드의 비트 OR,ClipIntersection 는 비트 AND 이다. ClipUnion 의 초기값은 제로,ClipIntersection 의 초기값은 0xFFFFFFFF 이다. D3DRS_CLIPPING 를 FALSE 로 설정 하면,ClipUnionClipIntersection 는 제로로 설정된다. Direct3D 는, 드로잉(Drawing) 처리의 호출 중(안)에서 클립 스테이터스를 갱신한다. 특정의 개체의 클립 스테이터스를 계산하려면 ,ClipUnionClipIntersection 를 각각의 초기값으로 설정해, 계속 드로잉(Drawing)를 실행한다.

IDirect3DDevice9::DrawRectPatchIDirect3DDevice9::DrawTriPatch 에서는 클립 스테이터스를 갱신하지 않는다. 이것들에 대한 소프트웨어 에뮬레이션이 존재하지 않기 때문에이다.

참조

IDirect3DDevice9::GetClipStatus


© 2002 Microsoft Corporation. All rights reserved.
↑TOP