다음을 통해 공유


D3DXComputeNormals 함수

메시의 각 꼭짓점의 단위 법선 계산 레거시 애플리케이션을 지원하기 위해 제공됩니다. 더 나은 결과를 얻으려면 D3DXComputeTangentFrameEx 를 사용합니다.

구문

HRESULT D3DXComputeNormals(
  _Inout_       LPD3DXBASEMESH pMesh,
  _In_    const DWORD          *pAdjacency
);

매개 변수

pMesh [in, out]

형식: LPD3DXBASEMESH

정규화된 메시 개체를 나타내는 ID3DXBaseMesh 인터페이스에 대한 포인터입니다.

pAdjacency [in]

형식: const DWORD*

생성된 프로그레시브 메시의 각 면에 대해 세 개의 인접 항목을 지정하는 얼굴당 3개의 DWORD 배열에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 사용하지 않는 경우 NULL 로 설정해야 합니다.

반환 값

형식: HRESULT

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

설명

입력 메시에는 FVF (유연한 꼭짓점 형식)로 지정된 D3DFVF_NORMAL 플래그가 있어야 합니다.

꼭짓점의 법선은 해당 꼭짓점을 공유하는 모든 얼굴의 평균을 계산하여 생성됩니다.

인접성이 제공되면 복제된 꼭짓점이 무시되고 "부드럽게" 진행됩니다. 인접성이 제공되지 않으면 복제된 꼭짓점은 명시적으로 참조하는 얼굴에서만 평균으로 정상을 가집니다.

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

D3DXComputeTangentFrameEx( pMesh,
                           D3DX_DEFAULT,
                           0,
                           D3DX_DEFAULT,
                           0,
                           D3DX_DEFAULT,
                           0,
                           D3DDECLUSAGE_NORMAL,
                           0,
                           D3DXTANGENT_GENERATE_IN_PLACE | D3DXTANGENT_CALCULATE_NORMALS,
                           pAdjacency,
                           -1.01f,
                           -0.01f,
                           -1.01f,
                           NULL,
                           NULL);

요구 사항

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

추가 정보

메시 함수