DirectX Graphics 레퍼런스 Direct3D C/C++ 레퍼런스 인터페이스 IDirect3DDevice9 SetClipPlane [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
장치의 사용자 정의 클립면의 계수를 설정한다.
구문
HRESULT SetClipPlane(
DWORD Index, const float *pPlane );
파라미터
- Index
- [in] 평면 방정식의 계수를 설정하는 클립면의 인덱스.
- pPlane
- [in] 설정하는 일반 평면 방정식 형식의 클립면계수를 나타내는 값의, 4 요소로 구성되는 배열의 주소의 포인터. 「주의」를 참조할것.
반환값
성공했을 경우는,D3D_OK 를 돌려준다.
실패했을 경우는,D3DERR_INVALIDCALL 를 돌려준다. 이 에러는,Index 의 값이 장치로 지원 되는 최대 클립면인덱스를 넘고 있는지,pPlane 의 배열이 4 개의 부동 소수점값을 저장 할 만큼 크지 않은 것을 나타낸다.
주의
이 메서드로 설정하는 계수는, 일반 평면 방정식의 형식이 되어 있다. pPlane 의 배열의 값을 배열내에서의 순서에 A, B, C, D 와 하면, 이러한 값은 일반 평면 방정식이 Ax + By + Cz + Dw = 0 이 되도록(듯이) 적용된다. Ax + By + Cz + Dw >= 0 인 경우, 동차 좌표 (x, y, z, w)의 포인트는 평면에서 잘라내진 반의 공간에 표시된다. 클립면의 배후에 존재하는 포인트는 장면(scene)로부터 클리핑 된다.
고정 기능 파이프라인이 사용되는 경우, 평면 방정식은 월드 공간에 있으면 가정된다. 프로그래밍할 수 있는 파이프라인이 사용되는 경우, 평면 방정식은 클립 공간 (출력 정점와 같은 공간)에 있으면 가정된다.
이 메서드는, 설정되어 있는 클립면의 식을 유효하게 하는 것은 아니다. 클립면을 유효하게 하려면 ,D3DRS_CLIPPLANEENABLE 렌더링 스테이트에 적용하는 DWORD 값의 대응하는 비트를 설정한다.
참조
IDirect3DDevice9::GetClipPlane