Метод ID3DXPRTEngine::MultiplyAlbedo
Умножает каждый предварительно вычисляемый вектор передачи сияния (PRT) на альбедо для каждой вершины.
Синтаксис
HRESULT MultiplyAlbedo(
[in, out] LPD3DXPRTBUFFER pDataOut
);
Параметры
-
pDataOut [вход, выход]
-
Тип: LPD3DXPRTBUFFER
Указатель на выходной объект ID3DXPRTBuffer , который будет содержать векторы PRT, умноженные на альбедо для каждой вершины. Если этот выходной буфер является объектом текстуры, необходимо соблюдать осторожность для хранения альбедо текстуры в том же разрешении, что и буфер имитации. Вы можете задать правильное разрешение альбедо с помощью D3DXLoadSurfaceFromSurface, при необходимости применив области желоба текстуры.
Возвращаемое значение
Тип: HRESULT
Если метод выполнен успешно, возвращаемое значение будет S_OK. Если метод завершается ошибкой, возвращаемое значение может быть одним из следующих: D3DERR_INVALIDCALL, E_OUTOFMEMORY.
Комментарии
Методы ID3DXPRTEngine::Computexxx вычисляют буферы вывода, в которых сигнал света не умножен на альбедо. Не умножая альбедо, можно моделировать вариацию альбедо в более тонком масштабе, чем исходное сияние, тем самым обеспечивая более точные результаты сжатия.
Чтобы включить albedo в модель отрисованного освещения, вызовите этот метод после одного из методов Computexxx.
Перед вызовом этого метода необходимо вызвать ID3DXPRTEngine::SetMeshMaterials.
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|
См. также раздел