D3DXComputeTangent 함수

텍스처 스테이지에 지정된 텍스처 좌표에 대한 탄젠트 벡터를 계산합니다. 레거시 애플리케이션을 지원하기 위해 제공됩니다. 더 나은 결과를 얻으려면 D3DXComputeTangentFrameEx 를 사용합니다.

구문

HRESULT D3DXComputeTangent(
  _In_       LPD3DXMESH Mesh,
  _In_       DWORD      TexStageIndex,
  _In_       DWORD      TangentIndex,
  _In_       DWORD      BinormIndex,
  _In_       DWORD      Wrap,
  _In_ const DWORD      *pAdjacency
);

매개 변수

메시 [in]

형식: LPD3DXMESH

입력 메시를 나타내는 ID3DXMesh 인터페이스에 대한 포인터입니다.

TexStageIndex [in]

형식: DWORD

텍스처 단계를 나타내는 인덱스입니다.

TangentIndex [in]

형식: DWORD

탄젠트 데이터에 대한 사용량 인덱스 제공 인덱스입니다. 꼭짓점 선언은 사용량을 의미합니다. 이 인덱스가 사용량 인덱스로 사용량을 수정합니다. 꼭짓점 선언에 대한 자세한 내용은 꼭짓점 선언(Direct3D 9)을 참조하세요.

BinormIndex [in]

형식: DWORD

이진 데이터에 대한 사용량 인덱스 제공 인덱스입니다. 꼭짓점 선언은 사용량을 의미합니다. 이 인덱스가 사용량 인덱스로 사용량을 수정합니다. 꼭짓점 선언에 대한 자세한 내용은 꼭짓점 선언(Direct3D 9)을 참조하세요.

래핑 [in]

형식: DWORD

래핑이 없는 경우 이 값을 0으로 설정하고, 줄 바꿈 및 V 방향 래핑의 경우 1로 설정합니다.

pAdjacency [in]

형식: const DWORD*

인접한 얼굴 인덱스로 채워질 얼굴당 3개의 DWORD 배열에 대한 포인터입니다. 이 배열의 바이트 수는 적어도 ((3 * GetNumFaces) * sizeof(DWORD))여야 합니다.

반환 값

형식: HRESULT

함수가 성공하면 반환 값이 S_OK. 함수가 실패하면 반환 값은 D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA, E_OUTOFMEMORY 중 하나일 수 있습니다.

설명

메시 꼭짓점 선언이 탄젠트 또는 이진 필드를 지정하는 경우 D3DXComputeTangent 는 사용자가 제공한 탄젠트 또는 이진 데이터를 업데이트합니다. 또는 TangentIndex를 D3DX_DEFAULT 설정하여 사용자가 제공한 탄젠트 데이터를 업데이트하지 않거나 BinormIndex를 D3DX_DEFAULT 설정하여 사용자가 제공한 이진 데이터를 업데이트하지 않도록 합니다. TexStageIndex는 D3DX_DEFAULT 설정할 수 없습니다.

D3DXComputeTangent 는 이진 필드(BinormIndex), 탄젠트 필드(TangentIndex) 또는 둘 다를 포함하는 메시 꼭짓점 선언에 따라 달라집니다. 둘 다 누락된 경우 이 함수는 실패합니다.

이 함수는 다음 입력 매개 변수를 사용하여 D3DXComputeTangentFrameEx 를 호출합니다.

D3DXComputeTangentFrameEx( Mesh,
                           D3DDECLUSAGE_TEXCOORD,
                           TexStageIndex,
                           ( BinormIndex == D3DX_DEFAULT ) ?
                               D3DX_DEFAULT : D3DDECLUSAGE_BINORMAL,
                               // provides backward function compatibility
                           BinormIndex,
                           ( TangentIndex == D3DX_DEFAULT ) ?
                               D3DX_DEFAULT : D3DDECLUSAGE_TANGENT,
                           TangentIndex,
                           D3DX_DEFAULT, // do not store normals
                           0,
                           ( Wrap ? D3DXTANGENT_WRAP_UV : 0 )
                               | D3DXTANGENT_GENERATE_IN_PLACE
                               | D3DXTANGENT_ORTHOGONALIZE_FROM_U,
                           pAdjacency,
                           -1.01f,
                           -0.01f,
                           -1.01f,
                           NULL,
                           NULL);

요구 사항

요구 사항
헤더
D3DX9Mesh.h
라이브러리
D3dx9.lib

추가 정보

메시 함수