D3DCLIPSTATUS9 구조체
현재 클립 상태 설명합니다.
구문
typedef struct D3DCLIPSTATUS9 {
DWORD ClipUnion;
DWORD ClipIntersection;
} D3DCLIPSTATUS9, *LPD3DCLIPSTATUS9;
멤버
-
ClipUnion
-
형식: DWORD
-
현재 클립 상태 설명하는 클립 공용 구조체 플래그입니다. 이 멤버는 다음 플래그 중 하나 이상이 될 수 있습니다.
값 의미 - D3DCS_ALL
모든 클립 플래그의 조합입니다. - D3DCS_LEFT
모든 꼭짓점은 보기 frustum의 왼쪽 평면에 의해 잘립니다. - D3DCS_RIGHT
모든 꼭짓점은 보기 frustum의 오른쪽 평면에 의해 잘립니다. - D3DCS_TOP
모든 꼭짓점은 보기 frustum의 위쪽 평면에 의해 잘립니다. - D3DCS_BOTTOM
모든 꼭짓점은 보기 frustum의 아래쪽 평면에 의해 잘립니다. - D3DCS_FRONT
모든 꼭짓점은 보기 frustum의 전면 평면에 의해 잘립니다. - D3DCS_BACK
모든 꼭짓점은 보기 frustum의 후면 평면에 의해 잘립니다. - D3DCS_PLANE0
애플리케이션 정의 클리핑 평면. - D3DCS_PLANE1
애플리케이션 정의 클리핑 평면. - D3DCS_PLANE2
애플리케이션 정의 클리핑 평면. - D3DCS_PLANE3
애플리케이션 정의 클리핑 평면. - D3DCS_PLANE4
애플리케이션 정의 클리핑 평면. - D3DCS_PLANE5
애플리케이션 정의 클리핑 평면. -
ClipIntersection
-
형식: DWORD
-
현재 클립 상태 설명하는 클립 교차 플래그입니다. 이 멤버는 ClipUnion과 동일한 플래그를 사용할 수 있습니다.
설명
꼭짓점 처리( ProcessVertices, DrawPrimitive 또는 기타 그리기 함수)에서 클리핑을 사용하도록 설정하면 Direct3D는 모든 꼭짓점의 클립 코드를 계산합니다. 클립 코드는 D3DCS_* 비트의 조합입니다. 꼭짓점이 특정 클리핑 평면 외부에 있으면 해당 비트가 클리핑 코드에 설정됩니다. Direct3D는 ClipUnion 및 ClipIntersection 멤버가 있는 D3DCLIPSTATUS9를 사용하여 클립 상태 유지 관리합니다. ClipUnion은 모든 꼭짓점 클립 코드의 비트 OR이며 ClipIntersection은 모든 꼭짓점 클립 코드의 비트 AND입니다. 초기 값은 ClipUnion의 경우 0이고 ClipIntersection의 경우 0xFFFFFFFF. D3DRS_CLIPPING FALSE로 설정되면 ClipUnion 및 ClipIntersection이 0으로 설정됩니다. Direct3D는 그리기 호출 중에 클립 상태 업데이트합니다. 특정 개체에 대한 클립 상태 계산하려면 ClipUnion 및 ClipIntersection을 초기 값으로 설정하고 그리기를 계속합니다.
클립 상태 소프트웨어 에뮬레이션이 없으므로 DrawRectPatch 및 DrawTriPatch에서 업데이트되지 않습니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 |
|
추가 정보