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


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

Указатель на входной объект ID3DXPRTBuffer , представляющий трехмерный объект из предыдущего отскока света.

Order [in]

Тип: UINT

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

NumVolSamples.xml [in]

Тип: UINT

Количество расположений выборки.

pSampleLocs [in]

Тип: const D3DXVECTOR3*

Позиция для каждой выборки. Если pSampleLocs имеет значение NULL, ComputeVolumeSamples вычисляет матрицы передачи на каждой вершине сетки. Однако если pSampleLocs не равно NULL, необходимо выполнить выборку по шару (установите UseSphere = TRUE и UseCosine = FALSE в ID3DXPRTEngine::SetSamplingInfo); В противном случае ComputeVolumeSamples вернет D3DERR_INVALIDCALL.

pDataOut [вход, выход]

Тип: LPD3DXPRTBUFFER

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

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

Тип: HRESULT

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

Комментарии

Этот метод вычисляет, как свет от функции исходного сияния отражается от поверхности, представляющей сцену (pSurfDataIn), и прибывает в каждую точку пространства, заданную параметром pSampleLocs. Коэффициенты SH представляют сопоставление в каждой точке pSampleLocs исходного сияния с переданным сиянием инцидента.

Требования

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

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

ID3DXPRTEngine

ID3DXPRTEngine::ComputeVolumeSamplesDirectSH