다음을 통해 공유


ID3DXPRTEngine::ComputeBounceAdaptive 메서드

적응 샘플링을 사용하여 반사된 광원의 단일 바운스로 인한 원본 광채를 계산합니다. 이 메서드는 PRT(사전 계산된 방사 전송) 신호를 보다 정확하게 근사화하기 위해 메시에 새 꼭짓점과 얼굴을 생성합니다. 이 메서드는 SH(구면 고조파) 기반 PRT 모델을 포함하여 조명이 켜진 장면에 사용할 수 있습니다.

구문

HRESULT ComputeBounceAdaptive(
  [in]      LPD3DXPRTBUFFER pDataIn,
  [in]      FLOAT           AdaptiveThresh,
  [in]      FLOAT           MinEdgeLength,
  [in]      UINT            MaxSubdiv,
  [in, out] LPD3DXPRTBUFFER pDataOut,
  [in, out] LPD3DXPRTBUFFER pDataTotal
);

매개 변수

pDataIn [in]

형식: LPD3DXPRTBUFFER

이전 광원에서 3D 개체를 나타내는 입력 ID3DXPRTBuffer 개체에 대한 포인터입니다. 이 입력 버퍼에는 시뮬레이션에 할당된 적절한 수의 색 채널이 있어야 합니다.

AdaptiveThresh [in]

형식: FLOAT

메시 꼭짓점 및 얼굴을 세분화하는 데 사용할 PRT 벡터의 임계값입니다. 1e-6f 미만이면 기본값인 1e-6f가 지정됩니다.

MinEdgeLength [in]

형식: FLOAT

적응 샘플링에서 생성되는 최소 얼굴 가장자리 길이입니다. 메서드가 값이 너무 작다고 판단하면 모델 종속 값이 지정됩니다. 0이면 기본값 4가 지정됩니다.

MaxSubdiv [in]

형식: UINT

적응 샘플링에 사용할 얼굴의 최대 세분화 수준입니다.

pDataOut [in, out]

형식: LPD3DXPRTBUFFER

출력 ID3DXPRTBuffer 개체에 대한 포인터입니다. 이 출력 버퍼에는 시뮬레이션에 할당된 적절한 수의 색 채널이 있어야 합니다.

pDataTotal [in, out]

형식: LPD3DXPRTBUFFER

각 광원 바운스 계산을 사용하여 pDataOut의 실행 합계를 유지하는 선택적 ID3DXPRTBuffer 개체에 대한 포인터입니다. NULL일 수 있습니다.

반환 값

형식: HRESULT

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

요구 사항

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

추가 정보

ID3DXPRTEngine

ID3DXPRTEngine::RobustMeshRefine