DirectX Graphics 레퍼런스 Direct3D C/C++ 레퍼런스 구조체 D3DCLIPSTATUS9   [목차열람] [주소복사] [슬롯비우기]
D3DCLIPSTATUS9 구조체
 
Microsoft DirectX 9.0

D3DCLIPSTATUS9 구조체


현재의 클립 스테이터스를 기술한다.

구문

typedef struct _D3DCLIPSTATUS9 {
    DWORD ClipUnion;
    DWORD ClipIntersection;
} D3DCLIPSTATUS9;

멤버

ClipUnion

현재의 클립 스테이터스를 나타내는 클립 결합 플래그. 이 멤버에는, 다음의 1 개 또는 복수의 플래그를 설정할 수 있다.

D3DCS_ALL
모든 클립 플래그의 편성.
D3DCS_BACK
모든 정점을 절두체 의 뒷면에서 클리핑 한다.
D3DCS_BOTTOM
모든 정점을 절두체의 저면에서 클리핑 한다.
D3DCS_FRONT
모든 정점을 절두체의 전면에서 클리핑 한다.
D3DCS_LEFT
모든 정점을 절두체의 좌측면에서 클리핑 한다.
D3DCS_RIGHT
모든 정점을 절두체의 우측면에서 클리핑 한다.
D3DCS_TOP
모든 정점을 절두체의 표면에서 클리핑 한다.
D3DCS_PLANE0 through D3DCS_PLANE5
애플리케이션으로 정의되고 있는 클립면.
ClipIntersection
현재의 클립 스테이터스를 나타내는 클립 교점 플래그. 이 멤버의 값은,ClipUnion 와 같은 플래그이다.

주의

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 에서는 클립 스테이터스를 갱신하지 않는다. 이것들에 대한 소프트웨어 에뮬레이션이 존재하지 않기 때문에이다.

구조체의 정보

헤더d3d9types.h
최저한의 operating system Windows 98

참조

IDirect3DDevice9::GetClipStatus ,IDirect3DDevice9::SetClipStatus


© 2002 Microsoft Corporation. All rights reserved.
↑TOP