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


Метод 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.

Требования

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

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

ID3DXPRTEngine

ID3DXPRTEngine::ComputeVolumeSamples