DirectX Graphics 레퍼런스 Direct3D C/C++ 레퍼런스 구조체 D3DCLIPSTATUS9 [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
현재의 클립 스테이터스를 기술한다.
구문
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 에서는,ClipUnion 및 ClipIntersection 멤버를 가지는 D3DCLIPSTATUS9 를 사용해 클립 스테이터스를 보관 유지한다. ClipUnion 는 전정점의 클립 코드의 비트 OR,ClipIntersection 는 비트 AND 이다. ClipUnion 의 초기값은 제로,ClipIntersection 의 초기값은 0xFFFFFFFF 이다. D3DRS_CLIPPING 를 FALSE 로 설정 하면,ClipUnion 및 ClipIntersection 는 제로로 설정된다. Direct3D 는, 드로잉(Drawing) 처리의 호출 중(안)에서 클립 스테이터스를 갱신한다. 특정의 개체의 클립 스테이터스를 계산하려면 ,ClipUnion 및 ClipIntersection 를 각각의 초기값으로 설정해, 계속 드로잉(Drawing)를 실행한다.
IDirect3DDevice9::DrawRectPatch 및 IDirect3DDevice9::DrawTriPatch 에서는 클립 스테이터스를 갱신하지 않는다. 이것들에 대한 소프트웨어 에뮬레이션이 존재하지 않기 때문에이다.
구조체의 정보
헤더 d3d9types.h 최저한의 operating system Windows 98
참조
IDirect3DDevice9::GetClipStatus ,IDirect3DDevice9::SetClipStatus