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


Метод ID3DXPRTEngine::ComputeBounceAdaptive

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

Синтаксис

HRESULT ComputeBounceAdaptive(
  [in]      LPD3DXPRTBUFFER pDataIn,
  [in]      FLOAT           AdaptiveThresh,
  [in]      FLOAT           MinEdgeLength,
  [in]      UINT            MaxSubdiv,
  [in, out] LPD3DXPRTBUFFER pDataOut,
  [in, out] LPD3DXPRTBUFFER pDataTotal
);

Параметры

pDataIn [in]

Тип: LPD3DXPRTBUFFER

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

AdaptiveThresh [in]

Тип: FLOAT

Пороговое значение в векторе PRT, используемое для подделательных вершин и граней сетки. Если меньше 1e–6f, указано значение по умолчанию 1e–6f.

MinEdgeLength [in]

Тип: FLOAT

Минимальная длина края лица, которая будет создана в адаптивной выборке. Если метод определяет, что значение слишком мало, указывается значение, зависящее от модели. Если значение равно нулю, задается значение по умолчанию 4.

MaxSubdiv [in]

Тип: UINT

Максимальный уровень деления лица, который будет использоваться в адаптивной выборке.

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

Тип: LPD3DXPRTBUFFER

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

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

Тип: LPD3DXPRTBUFFER

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

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

Тип: HRESULT

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

Требования

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

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

ID3DXPRTEngine

ID3DXPRTEngine::RobustMeshRefine