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


Функция D3DXComputeNormals

Вычисляет нормали единиц измерения для каждой вершины в сетке. Предоставляется для поддержки устаревших приложений. Используйте D3DXComputeTangentFrameEx для улучшения результатов.

Синтаксис

HRESULT D3DXComputeNormals(
  _Inout_       LPD3DXBASEMESH pMesh,
  _In_    const DWORD          *pAdjacency
);

Параметры

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

Тип: LPD3DXBASEMESH

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

pAdjacency [in]

Тип: const DWORD*

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

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

Тип: HRESULT

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

Комментарии

Входная сетка должна иметь флаг D3DFVF_NORMAL , указанный в формате гибкой вершины (FVF).

Норма для вершины создается путем усреднения нормальных значений всех лиц, общих с этой вершиной.

Если задана смежность, реплицированные вершины игнорируются и "сглаживаются". Если смежность не указана, то реплицированные вершины будут иметь нормали, усредненные по только лицам, явно ссылающимся на них.

Эта функция просто вызывает D3DXComputeTangentFrameEx со следующими входными параметрами:

D3DXComputeTangentFrameEx( pMesh,
                           D3DX_DEFAULT,
                           0,
                           D3DX_DEFAULT,
                           0,
                           D3DX_DEFAULT,
                           0,
                           D3DDECLUSAGE_NORMAL,
                           0,
                           D3DXTANGENT_GENERATE_IN_PLACE | D3DXTANGENT_CALCULATE_NORMALS,
                           pAdjacency,
                           -1.01f,
                           -0.01f,
                           -1.01f,
                           NULL,
                           NULL);

Требования

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

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

Функции сетки