Mathematische Funktionen (Direct3D 10-Grafiken)
Anmerkung
Die Hilfsprogrammbibliothek D3DX10 ist veraltet. Es wird empfohlen, stattdessen DirectXMath- zu verwenden.
Die von der D3DX-Hilfsbibliothek bereitgestellte mathematische Bibliothek stellt Funktionen zum Berechnen mathematischer 3D-Vorgänge bereit. Jede der Funktionen kann dasselbe Objekt wie die übergebenen [in] und die zurückgegebenen [out]-Parameter verwenden. Außerdem werden Ausgabeparameter in der Regel als Rückgabewerte zurückgegeben, sodass die Ausgabe einer mathematischen Funktion als Parameter für eine andere mathematische Funktion verwendet werden kann.
- D3DXColorAdjustContrast
- D3DXColorAdjustSaturation
- D3DXCreateMatrixStack
- D3DXCpuOptimizations
- D3DXFloat16To32Array-
- D3DXFloat32To16Array-
- D3DXFresnelTerm
- D3DXMatrixAffineTransformation
- D3DXMatrixAffineTransformation2D-
- D3DXMatrixDecompose-
- D3DXMatrixDeterminant-
- D3DXMatrixInverse
- D3DXMatrixLookAtLH-
- D3DXMatrixLookAtRH-
- D3DXMatrixMultiply
- D3DXMatrixMultiplyTranspose
- D3DXMatrixOrthoLH
- D3DXMatrixOrthoRH
- D3DXMatrixOrthoOffCenterLH-
- D3DXMatrixOrthoOffCenterRH
- D3DXMatrixPerspectiveFovLH
- D3DXMatrixPerspectiveFovRH
- D3DXMatrixReflect
- D3DXMatrixRotationAxis
- D3DXMatrixRotationX-
- D3DXMatrixRotationY
- D3DXMatrixRotationZ
- D3DXMatrixRotationYawPitchRoll
- D3DXMatrixScaling
- D3DXMatrixShadow
- D3DXMatrixTransformation
- D3DXMatrixTransformation2D-
- D3DXMatrixTranslation-
- D3DXMatrixTranspose
- D3DXPlaneFromPointNormal-
- D3DXPlaneFromPoints-
- D3DXPlaneIntersectLine-
- D3DXPlaneNormalize
- D3DXPlaneTransform-
- D3DXPlaneTransformArray-
- D3DXQuaternionBaryCentric
- D3DXQuaternionExp
- D3DXQuaternionInverse-
- D3DXQuaternionLn
- D3DXQuaternionMultiply
- D3DXQuaternionNormalize
- D3DXQuaternionRotationAxis
- D3DXQuaternionRotationMatrix-
- D3DXQuaternionRotationYawPitchRoll
- D3DXQuaternionSlerp
- D3DXQuaternionSquad
- D3DXQuaternionSquadSetup
- D3DXQuaternionToAxisAngle
- D3DXSHEvalConeLight
- D3DXSHEvalDirection
- D3DXSHEvalDirectionalLight
- D3DXSHEvalHemisphereLight
- D3DXSHMultiply2
- D3DXSHMultiply3
- D3DXSHMultiply4
- D3DXSHMultiply5
- D3DXSHMultiply6
- D3DX10SHProjectCubeMap
- D3DXSHRotate
- D3DXSHRotateZ
- D3DXSHScale-
- D3DXVec2BaryCentric
- D3DXVec2CatmullRom
- D3DXVec2Hermite
- D3DXVec2Normalize
- D3DXVec2Transform-
- D3DXVec2TransformArray
- D3DXVec2TransformCoord
- D3DXVec2TransformCoordArray
- D3DXVec2TransformNormal-
- D3DXVec2TransformNormalArray-
- D3DXVec3BaryCentric
- D3DXVec3CatmullRom
- D3DXVec3Hermite
- D3DXVec3Normalize
- D3DXVec3Project
- D3DXVec3ProjectArray
- D3DXVec3Transform-
- D3DXVec3TransformArray-
- D3DXVec3TransformCoord
- D3DXVec3TransformCoordArray
- D3DXVec3TransformNormal
- D3DXVec3TransformNormalArray
- D3DXVec4BaryCentric
- D3DXVec4CatmullRom
- D3DXVec4Cross
- D3DXVec4Hermite
- D3DXVec4Normalize
- D3DXVec4Transform-
- D3DXVec4TransformArray-
Beheben von Verknüpfungsfehlern mit mathematischen D3DX-Funktionen
Die mathematischen D3DX-Funktionen werden in D3DX10 (D3DX10math.h) und D3DX9 (D3DX9math.h) identisch implementiert. Dies kann zu Verknüpfungsfehlern führen, wenn ein Projekt sowohl DirectX 9- als auch DirectX 10-Code implementiert, und versucht, eine Funktion aus einem Header mit der entgegengesetzten Bibliothek zu verknüpfen.
Um das Problem beim Einschließen beider Header zu beseitigen, enthält D3DX10math.h die folgenden #define:
#ifndef __D3DX9MATH_H__
#define __D3DX9MATH_H__
Um mögliche Verknüpfungsfehler zu beseitigen, verknüpfen die DX SDK-Beispiele zuerst mit D3DX9-Bibliotheken (D3DX9d.lib und D3DX9.lib) und dann die D3DX10-Bibliotheken second (D3DX10d.lib und D3DX10.lib). Diese Einstellungen befinden sich unter Project/Properties, wenn Sie Visual Studio verwenden.
Verwandte Themen