D3DXSHPRTCompSplitMeshSC 함수

PRT(사전 계산된 방사 전송) 시뮬레이터의 꼭짓점 버전의 압축된 결과와 함께 사용됩니다. D3DXSHPRTCompSuperCluster가 호출된 후 이 함수를 사용하여 메시를 슈퍼 클러스터당 얼굴/꼭짓점 그룹으로 분할할 수 있습니다. 각 슈퍼 클러스터에는 해당 클러스터 중 하나에서 분류된 꼭짓점이 포함된 모든 얼굴이 포함됩니다. 이 얼굴 집합에 연결된 모든 꼭짓점은 꼭짓점이 슈퍼 클러스터에 속하는지 여부를 나타내는 반환된 배열 ppVertStatus에도 포함됩니다.

구문

HRESULT D3DXSHPRTCompSplitMeshSC(
  _In_    UINT                          *pClusterIDs,
  _In_    UINT                          NumVertices,
  _In_    UINT                          NumCs,
  _In_    UINT                          *pSClusterIDs,
  _In_    UINT                          NumSCs,
  _In_    LPVOID                        pInputIB,
  _In_    BOOL                          InputIBIs32Bit,
  _In_    UINT                          NumFaces,
  _Inout_ LPD3DXBUFFER                  *ppIBData,
  _Inout_ UINT                          *pIBDataLength,
  _Inout_ BOOL                          OutputIBIs32Bit,
  _Inout_ LPD3DXBUFFER                  *ppFaceRemap,
  _Inout_ LPD3DXBUFFER                  *ppVertData,
  _Inout_ UINT                          *pVertDataLength,
  _Inout_ UINT                          *pSCClusterList,
  _Inout_ D3DXSHPRTSPLITMESHCLUSTERDATA *pSCData
);

매개 변수

pClusterIDs [in]

형식: UINT*

NumVertices 클러스터 ID(압축된 버퍼에서 추출됨)

NumVertices [in]

형식: UINT

원래 메시의 꼭짓점 수입니다.

NumCs [in]

형식: UINT

클러스터 수(압축할 입력 매개 변수)입니다.

pSClusterIDs [in]

형식: UINT*

슈퍼 클러스터 ID를 포함할 NumC 크기의 배열입니다.

NumSCs [in]

형식: UINT

D3DXSHPRTCompSuperCluster에 할당된 슈퍼 클러스터 수입니다.

pInputIB [in]

형식: LPVOID

메시에 대한 원시 인덱스 버퍼입니다. 형식은 InputIBIs32Bit에 따라 달라집니다.

InputIBIs32Bit [in]

형식: BOOL

TRUE이면 인덱스 버퍼가 32비트로 설정됩니다. 그렇지 않으면 16비트입니다.

NumFaces [in]

형식: UINT

원래 메시의 얼굴 수(pInputIB 는 이 길이의 3배입니다.)

ppIBData [in, out]

형식: LPD3DXBUFFER*

결과 분할 얼굴을 포함할 원시 인덱스 버퍼입니다. InputIBIs32Bit에 의해 결정되는 형식입니다. 함수에 의해 할당되었습니다.

pIBDataLength [in, out]

형식: UINT*

함수에 할당된 ppIBData의 길이입니다.

OutputIBIs32Bit [in, out]

형식: BOOL

TRUE이면 부호 없는 정수 배열을 할당합니다. 그렇지 않으면 서명되지 않은 짧은 배열을 할당합니다.

ppFaceRemap [in, out]

형식: LPD3DXBUFFER*

ppIBData의 각 얼굴을 원래 얼굴에 매핑합니다. 길이는 *pIBDataLength/3입니다.

ppVertData [in, out]

형식: LPD3DXBUFFER*

새 꼭짓점 데이터 구조입니다. pVertDataLength의 크기입니다.

pVertDataLength [in, out]

형식: UINT*

분할 메시의 새 꼭짓점 수입니다. 함수에 할당됩니다.

pSCClusterList [in, out]

형식: UINT*

각 슈퍼 클러스터에 대해 pSCData가 (pClusterIDs* 필드)로 인덱싱하는 길이 NumC의 배열은 슈퍼클러스터별로 정렬된 클러스터를 포함합니다.

pSCData [in, out]

형식: D3DXSHPRTSPLITMESHCLUSTERDATA*

슈퍼 클러스터당 구조입니다. ppIBData, pSCClusterListppVertData에 대한 인덱스를 포함합니다.

반환 값

형식: HRESULT

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

요구 사항

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

추가 정보

미리 계산된 방사형 전송 함수