IDirect3DDevice9::SetClipStatus 메서드(d3d9helper.h)

클립 상태 설정합니다.

구문

HRESULT SetClipStatus(
  [in] const D3DCLIPSTATUS9 *pClipStatus
);

매개 변수

[in] pClipStatus

형식: const D3DCLIPSTATUS9*

설정할 클립 상태 설정을 설명하는 D3DCLIPSTATUS9 구조체에 대한 포인터입니다.

반환 값

형식: HRESULT

메서드가 성공하면 반환 값이 D3D_OK. 인수 중 하나가 유효하지 않으면 반환 값이 D3DERR_INVALIDCALL.

설명

클립 상태 소프트웨어 꼭짓점 처리 중에 사용됩니다. 따라서 이 메서드는 순수 또는 비포장 하드웨어 처리 디바이스에서 지원되지 않습니다. 순수 디바이스에 대한 자세한 내용은 D3DCREATE를 참조하세요.

꼭짓점 처리 중에 클리핑을 사용하는 경우( IDirect3DDevice9::P rocessVertices, IDirect3DDevice9::D rawPrimitive 또는 기타 그리기 함수) Direct3D는 모든 꼭짓점의 클립 코드를 계산합니다. 클립 코드는 D3DCS_* 비트의 조합입니다. 꼭짓점이 특정 클리핑 평면 외부에 있으면 해당 비트가 클리핑 코드에 설정됩니다. Direct3D는 ClipUnion 및 ClipIntersection 멤버가 있는 D3DCLIPSTATUS9를 사용하여 클립 상태 유지 관리합니다. ClipUnion은 모든 꼭짓점 클립 코드의 비트 "OR"이며 ClipIntersection은 모든 꼭짓점 클립 코드의 비트 "AND"입니다. 초기 값은 ClipUnion의 경우 0이고 ClipIntersection의 경우 0xFFFFFFFF. D3DRS_CLIPPING FALSE로 설정되면 ClipUnion 및 ClipIntersection이 0으로 설정됩니다. Direct3D는 그리기 호출 중에 클립 상태 업데이트합니다. 특정 개체에 대한 클립 상태 계산하려면 ClipUnion 및 ClipIntersection을 초기 값으로 설정하고 그리기를 계속합니다.

클립 상태 IDirect3DDevice9::D rawRectPatchIDirect3DDevice9::D rawTriPatch에 의해 업데이트되지 않습니다.

요구 사항

   
대상 플랫폼 Windows
헤더 d3d9helper.h(D3D9.h 포함)
라이브러리 D3D9.lib

추가 정보

IDirect3DDevice9

IDirect3DDevice9::GetClipStatus