ID3DXPRTEngine::ComputeVolumeSamples 메서드
이전 광원 바운스에서 지정된 위치에서 인시던트 광채를 나타내는 SH(구형 고조파) 기본 벡터로 직접 조명의 프로젝션을 계산합니다.
구문
HRESULT ComputeVolumeSamples(
[in] LPD3DXPRTBUFFER pSurfDataIn,
[in] UINT Order,
[in] UINT NumVolSamples.xml,
[in] const D3DXVECTOR3 *pSampleLocs,
[in, out] LPD3DXPRTBUFFER pDataOut
);
매개 변수
-
pSurfDataIn [in]
-
형식: LPD3DXPRTBUFFER
이전 광원에서 3D 개체를 나타내는 입력 ID3DXPRTBuffer 개체에 대한 포인터입니다.
-
주문 [in]
-
형식: UINT
SH 평가 순서입니다. D3DXSH_MAXORDER D3DXSH_MINORDER 범위여야 합니다. 평가는 Order² 계수를 생성합니다. 평가 수준은 Order - 1입니다.
-
NumVolSamples.xml [in]
-
형식: UINT
샘플 위치 수입니다.
-
pSampleLocs [in]
-
형식: const D3DXVECTOR3*
각 샘플의 위치입니다. pSampleLocs가 NULL인 경우 ComputeVolumeSamples는 모든 메시 꼭짓점에서 전송 매트릭스를 계산합니다. 그러나 pSampleLocs가 NULL이 아닌 경우 구를 샘플링해야 합니다(ID3DXPRTEngine::SetSamplingInfo에서 UseSphere = TRUE 및 UseCosine = FALSE 설정); 그렇지 않으면 ComputeVolumeSamples는 D3DERR_INVALIDCALL 반환합니다.
-
pDataOut [in, out]
-
형식: LPD3DXPRTBUFFER
이전 조명에서 SH 기본 벡터로 반송되는 직접 조명을 투영하는 출력 ID3DXPRTBuffer 개체에 대한 포인터입니다. 이 버퍼에는 시뮬레이션에 할당된 적절한 수의 색 채널이 있어야 합니다.
반환 값
형식: HRESULT
메서드가 성공하면 반환 값이 D3D_OK. 메서드가 실패하면 반환 값은 D3DERR_INVALIDCALL, E_OUTOFMEMORY 중 하나일 수 있습니다.
설명
이 메서드는 원본 광원 함수의 빛이 장면(pSurfDataIn)을 나타내는 표면에서 반사되고 pSampleLocs로 지정된 공간의 각 지점에 도착하는 방법을 계산합니다. SH 계수는 전송된 인시던트 광채에 대한 원본 광채의 각 pSampleLocs 지점에서 매핑을 나타냅니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 |
|
라이브러리 |
|
추가 정보