Метод ID3DXPRTEngine::ComputeVolumeSamplesDirectSH
Вычисляет проекцию удаленного освещения на векторы основы сферических гармоник (SH), которые представляют сияние инцидента в указанных местах.
Синтаксис
HRESULT ComputeVolumeSamplesDirectSH(
[in] UINT OrderIn,
[in] UINT OrderOut,
[in] UINT NumVolSamples.xml,
[in] const D3DXVECTOR3 *pSampleLocs,
[in, out] LPD3DXPRTBUFFER pDataOut
);
Параметры
-
OrderIn [in]
-
Тип: UINT
Порядок представления SH для удаленного освещения. Должен находиться в диапазоне D3DXSH_MINORDER для D3DXSH_MAXORDER включительно. Степень оценки — OrderIn - 1.
-
OrderOut [in]
-
Тип: UINT
Порядок представления SH локального освещения. Должен находиться в диапазоне D3DXSH_MINORDER для D3DXSH_MAXORDER включительно. Степень оценки — OrderOut - 1.
-
NumVolSamples.xml [in]
-
Тип: UINT
Количество расположений выборки.
-
pSampleLocs [in]
-
Тип: const D3DXVECTOR3*
Позиция для каждой выборки.
-
pDataOut [вход, выход]
-
Тип: LPD3DXPRTBUFFER
Указатель на выходной объект ID3DXPRTBuffer , который проецирует удаленное освещение в базовые векторы SH. Этот буфер должен иметь правильное количество цветовых каналов, выделенных для моделирования. Этот метод создает скалярные значения OrderIn² * OrderOut"² на канал в каждом расположении примера.
Возвращаемое значение
Тип: HRESULT
Если метод выполнен успешно, возвращаемое значение будет D3D_OK. Если метод завершается ошибкой, возвращаемое значение может быть одним из следующих: D3DERR_INVALIDCALL, E_OUTOFMEMORY.
Комментарии
Этот метод вычисляет, как свет из удаленного источника поступает в каждую точку пространства, заданную pSampleLocs. Коэффициенты SH представляют сопоставление в каждой точке pSampleLocs исходного сияния с переданным сиянием инцидента.
Для успешного использования этого метода необходимо задать выборку для сферы с помощью UseSphere = TRUE и UseCosine = FALSE в ID3DXPRTEngine::SetSamplingInfo; В противном случае этот метод возвращает ошибку с D3DERR_INVALIDCALL.
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|
См. также раздел