D3DXComputeTangentFrame 함수
메시에 대한 탄젠트, 이진 및 일반 벡터를 계산합니다.
구문
HRESULT D3DXComputeTangentFrame(
_In_ ID3DXMesh *pMesh,
_In_ DWORD dwOptions
);
매개 변수
-
pMesh [in]
-
형식: ID3DXMesh*
입력 ID3DXMesh 메시 개체에 대한 포인터입니다.
-
dwOptions [in]
-
형식: DWORD
하나 이상의 D3DXTANGENT 플래그 조합입니다.
NULL을 사용하여 다음 옵션을 지정합니다.
- 일반 벡터 길이를 라디안 단위의 각도로 가중치를 지정하고 꼭짓점을 벗어나는 두 가장자리에 의해 하위 적용됩니다.
- UV 텍스처 좌표에서 직교 카르테시안 좌표를 계산합니다.
- 텍스처가 U 또는 V 방향으로 래핑되지 않음
- 텍스처 좌표와 관련된 부분 파생 항목이 정규화됩니다.
- 꼭짓점은 각 삼각형 주위의 시계 반대 방향으로 정렬됩니다.
- 입력 메시에 이미 있는 꼭짓점별 일반 벡터를 사용합니다.
- 결과는 원래 입력 메시에 저장됩니다. 새 꼭짓점을 만들어야 하는 경우 함수가 실패합니다.
반환 값
형식: HRESULT
함수가 성공하면 반환 값이 S_OK. 함수가 실패하면 반환 값은 D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA, E_OUTOFMEMORY 중 하나일 수 있습니다.
설명
이 함수는 다음 입력 매개 변수를 사용하여 D3DXComputeTangentFrameEx 를 호출하기만 하면 됩니다.
D3DXComputeTangentFrameEx(pMesh, D3DDECLUSAGE_TEXCOORD, 0,
D3DDECLUSAGE_BINORMAL, 0, D3DDECLUSAGE_TANGENT, 0,
D3DDECLUSAGE_NORMAL, 0,
dwOptions | D3DXTANGENT_GENERATE_IN_PLACE,
NULL, 0.01f, 0.25f, 0.01f, NULL, NULL);
단수는 가장자리를 그룹화하고 꼭짓점을 분할하여 필요에 따라 처리됩니다. 꼭짓점을 분할해야 하는 경우 함수가 실패합니다. 각 꼭짓점에서 계산된 일반 벡터는 항상 단위 길이로 정규화됩니다.
직교 좌표를 계산하기 위한 가장 강력한 솔루션은 두 UV 텍스처 좌표에서 직교 좌표를 계산하도록 플래그를 D3DXTANGENT_ORTHOGONALIZE_FROM_U 및 D3DXTANGENT_ORTHOGONALIZE_FROM_V 설정하지 않는 것입니다. 그러나 이 경우 U 또는 V가 0이면 함수는 각각 D3DXTANGENT_ORTHOGONALIZE_FROM_V 또는 D3DXTANGENT_ORTHOGONALIZE_FROM_U 사용하여 직교 좌표를 계산합니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 |
|
라이브러리 |
|
추가 정보