Функция 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);
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|
См. также раздел