D3DXIntersectTri 함수(D3DX10math.h)
참고
D3DX 유틸리티 라이브러리는 더 이상 사용되지 않습니다. 대신 DirectXMath 를 사용하는 것이 좋습니다.
광선과 삼각형의 교차를 계산합니다.
구문
BOOL D3DXIntersectTri(
_In_ const D3DXVECTOR3 *p0,
_In_ const D3DXVECTOR3 *p1,
_In_ const D3DXVECTOR3 *p2,
_In_ const D3DXVECTOR3 *pRayPos,
_In_ const D3DXVECTOR3 *pRayDir,
_Out_ FLOAT *pU,
_Out_ FLOAT *pV,
_Out_ FLOAT *pDist
);
매개 변수
-
p0 [in]
-
형식: const D3DXVECTOR3*
첫 번째 삼각형 꼭짓점 위치를 설명하는 D3DXVECTOR3 구조체에 대한 포인터입니다.
-
p1 [in]
-
형식: const D3DXVECTOR3*
두 번째 삼각형 꼭짓점 위치를 설명하는 D3DXVECTOR3 구조체에 대한 포인터입니다.
-
p2 [in]
-
형식: const D3DXVECTOR3*
세 번째 삼각형 꼭짓점 위치를 설명하는 D3DXVECTOR3 구조체에 대한 포인터입니다.
-
pRayPos [in]
-
형식: const D3DXVECTOR3*
광선이 시작되는 지점을 지정하는 D3DXVECTOR3 구조체에 대한 포인터입니다.
-
pRayDir [in]
-
형식: const D3DXVECTOR3*
광선 방향을 지정하는 D3DXVECTOR3 구조체에 대한 포인터입니다.
-
pU [out]
-
형식: FLOAT*
바리센트릭 적중 좌표, U.
-
pV [out]
-
형식: FLOAT*
Barycentric 적중 좌표, V.
-
pDist [out]
-
형식: FLOAT*
광선 교차 매개 변수 거리입니다.
반환 값
형식: BOOL
광선이 삼각형 영역과 교차하면 TRUE 를 반환합니다. 그렇지 않으면 FALSE를 반환 합니다.
설명
평면 V1V2V3의 모든 지점은 좌표(U,V)로 나타낼 수 있습니다. 매개 변수 U는 결과에 가중치가 지정된 V2의 양을 제어하고, 매개 변수 V는 V3이 결과에 가중치를 두는 양을 제어합니다. 마지막으로 [1 - (U + V)] 값은 V1이 결과에 가중치를 두는 양을 제어합니다.
바리센트릭 좌표는 일반 좌표의 한 형태입니다. 이 컨텍스트에서 바리센트릭 좌표를 사용하면 좌표계가 변경됩니다. 카티시안 좌표에 대해 참인 것은 바리센트릭 좌표에 대해 true입니다.
바리센트릭 좌표는 삼각형의 꼭짓점 측면에서 삼각형 내의 점을 정의합니다. 바리센트릭 좌표에 대한 자세한 설명은 Mathworld의 Barycentric 좌표 설명을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
헤더 |
|
라이브러리 |
|
추가 정보