Поделиться через


Метод ID3DXPRTEngine::ComputeDirectLightingSH

Вычисляет вклад непосредственного освещения в трехмерные объекты, где исходное сияние представлено приближением сферической гармонии (SH).

Синтаксис

HRESULT ComputeDirectLightingSH(
  [in]      UINT            Order,
  [in, out] LPD3DXPRTBUFFER pDataOut
);

Параметры

Порядок [в]

Тип: UINT

Порядок оценки SH. Должен находиться в диапазоне D3DXSH_MINORDER для D3DXSH_MAXORDER включительно. При вычислении создаются коэффициенты Order². Степень оценки — Order - 1.

pDataOut [in, out]

Тип: LPD3DXPRTBUFFER

Указатель на выходной объект ID3DXPRTBuffer , который моделирует непосредственное освещение с приближением SH. В этом буфере должно быть правильное количество цветовых каналов, выделенных для имитации.

Возвращаемое значение

Тип: HRESULT

Если метод выполнен успешно, возвращаемое значение будет D3D_OK. В случае сбоя метода возвращается одно из следующих значений: D3DERR_INVALIDCALL E_OUTOFMEMORY.

Комментарии

Выходные данные не включают альбедо, и в симулятор интегрирован только входящий свет. Не умножая альбедо, можно смоделировать вариант альбедо в более тонком масштабе, чем исходное сияние, тем самым обеспечивая более точные результаты от сжатия.

Вызовите ID3DXPRTEngine::MultiplyAlbedo , чтобы умножить каждый предварительно вычисляемый вектор передачи сияния (PRT) на альбедо.

Требования

Требование Значение
Заголовок
D3DX9Mesh.h
Библиотека
D3dx9.lib

См. также раздел

ID3DXPRTEngine