다음을 통해 공유


ID3DXPRTEngine::ComputeDirectLightingSHGPU 메서드

GPU를 사용하여 원본 밝기가 SH(구형 고조파) 근사치로 표현되는 3D 개체에 대한 직접 조명 기여도를 계산합니다. GPU의 조명 컴퓨팅은 일반적으로 CPU보다 훨씬 빠릅니다.

구문

HRESULT ComputeDirectLightingSHGPU(
  [in]      LPDIRECT3DDEVICE9 pDevice,
  [in]      UINT              Flags,
  [in]      UINT              Order,
  [in]      FLOAT             ZBias,
  [in]      FLOAT             ZAngleBias,
  [in, out] LPD3DXPRTBUFFER   pDataOut
);

매개 변수

pDevice [in]

형식: LPDIRECT3DDEVICE9

GPU에서 시뮬레이션을 실행하는 데 사용되는 IDirect3DDevice9 디바이스 개체에 대한 포인터입니다. 디바이스는 ps_2_0 픽셀 셰이더를 지원해야 합니다.

참고

콜백 함수는 GPU 시뮬레이터에서 사용하는 IDirect3DDevice9 디바이스 개체를 사용하면 안 됩니다.

 

Flags [in]

형식: UINT

섀도 z-버퍼의 해상도를 정의하는 GPU 시뮬레이션 매개 변수입니다. D3DXSHGPUSIMOPT의 상수 값 중 하나로 설정해야 합니다. 더 높은 정밀도 시뮬레이션을 지정하기 위해 D3DXSHGPUSIMOPT_HIGHQUALITY 값을 D3DXSHGPUSIMOPT_SHADOWRESxxx 값 중 하나와 결합할 수 있습니다.

주문 [in]

형식: UINT

SH 평가 순서입니다. D3DXSH_MAXORDER D3DXSH_MINORDER 범위여야 합니다. 평가는 Order² 계수를 생성합니다. 평가 수준은 Order - 1입니다.

ZBias [in]

형식: FLOAT

일반 방향의 바이어스입니다.

ZAngleBias [in]

형식: FLOAT

보통 방향의 바이어스는 광선을 사용하여 각도의 코사인을 1에서 뺀 값으로 조정됩니다.

pDataOut [in, out]

형식: LPD3DXPRTBUFFER

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

반환 값

형식: HRESULT

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

설명

이 메서드에서 albedo는 광원 신호를 곱하지 않으며 들어오는 광원만 시뮬레이터에 통합됩니다. albedo를 곱하지 않으면 원본 광채보다 더 미세한 크기로 albedo 변형을 모델링하여 압축에서 보다 정확한 결과를 얻을 수 있습니다.

MultiplyAlbedo를 호출하여 사전 계산된 각 PRT(Radiance Transfer) 벡터에 albedo를 곱합니다.

요구 사항

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

추가 정보

ID3DXPRTEngine