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


Метод ID3DXPRTEngine::SetMeshMaterials

Задает свойства материала сетки в трехмерной сцене. Используйте этот метод для указания параметров рассеяния подповерхностей.

Синтаксис

HRESULT SetMeshMaterials(
  [in] const D3DXSHMATERIAL **ppMaterials,
  [in]       UINT           NumMeshes,
  [in]       UINT           NumChannels,
  [in]       BOOL           bSetAlbedo,
  [in]       FLOAT          fLengthScale
);

Параметры

ppMaterials [in]

Тип: const D3DXSHMATERIAL**

Адрес указателя на требуемые свойства материала сетки. См . раздел D3DXSHMATERIAL.

NumMeshes [in]

Тип: UINT

Индекс сетки, для которой задаются свойства материала.

NumChannels [in]

Тип: UINT

Число цветовых каналов, задается в сетке. Задайте значение 1, чтобы указать серые материалы (R = G = B), или 3, чтобы включить эффекты цветного кровотечения. Если вы планируете изменить этот параметр, сначала задайте альбедо с помощью другого метода, например ID3DXPRTEngine::SetPerTexelAlbedo или ID3DXPRTEngine::SetPerVertexAlbedo.

bSetAlbedo [in]

Тип: BOOL

Если задано значение TRUE, для альбедо сетки устанавливается значение ppMaterials, перезаписав все существующие значения текселя и вершинного альбедо. При значении FALSE сохраняет все существующие значения текселя и вершинного альбедо, заданные другими методами; NumChannels должен соответствовать параметру NumChannels, используемому для создания буфера в D3DXCreatePRTBuffer или D3DXCreatePRTBufferTex.

fLengthScale [in]

Тип: FLOAT

Масштаб трехмерной сцены относительно куба 1 мм. Используется для вычислений подповерхностного рассеяния.

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

Тип: HRESULT

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

Требования

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

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

ID3DXPRTEngine