Freigeben über


D3DXComputeNormals-Funktion

Berechnet Einheitsnormale für jeden Scheitelpunkt in einem Gitter. Wird zur Unterstützung von Legacyanwendungen bereitgestellt. Verwenden Sie D3DXComputeTangentFrameEx für bessere Ergebnisse.

Syntax

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

Parameter

pMesh [in, out]

Typ: LPD3DXBASEMESH

Zeiger auf eine ID3DXBaseMesh-Schnittstelle , die das normalisierte Gitterobjekt darstellt.

pAdjacency [in]

Typ: const DWORD*

Zeiger auf ein Array von drei DWORDs pro Gesicht, die die drei Nachbarn für jedes Gesicht im erstellten progressiven Gitter angeben. Dieser Parameter ist optional und sollte auf NULL festgelegt werden, wenn er nicht verwendet wird.

Rückgabewert

Typ: HRESULT

Wenn die Funktion erfolgreich ist, wird der Rückgabewert S_OK. Wenn die Funktion fehlschlägt, kann der Rückgabewert einer der folgenden sein: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA, E_OUTOFMEMORY.

Bemerkungen

Das Eingabegitter muss über das flag D3DFVF_NORMAL verfügen, das in seinem flexiblen Vertexformat (FVF) angegeben ist.

Eine Normalität für einen Scheitelpunkt wird generiert, indem die Normalität aller Gesichter, die diesen Scheitelpunkt teilen, generiert wird.

Wenn Adjacency bereitgestellt wird, werden replizierte Scheitelpunkte ignoriert und "geglättet". Wenn keine Adjacency bereitgestellt wird, weisen replizierte Scheitelpunkte Normalwerte auf, die nur von den Gesichtern gemittelt werden, die explizit auf sie verweisen.

Diese Funktion ruft einfach D3DXComputeTangentFrameEx mit den folgenden Eingabeparametern auf:

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);

Anforderungen

Anforderung Wert
Header
D3DX9Mesh.h
Bibliothek
D3dx9.lib

Siehe auch

Gitterfunktionen