Matematikfunktioner (Direct3D 10-grafik)
Not
D3DX10-verktygsbiblioteket är inaktuellt. Vi rekommenderar att du använder DirectXMath i stället.
Det matematiska biblioteket som tillhandahålls av D3DX-verktygsbiblioteket tillhandahåller funktioner för beräkning av matematiska 3D-åtgärder. Var och en av funktionerna kan ta samma objekt som de skickade parametrarna [in] och returnera [out]. Dessutom returneras utdataparametrar vanligtvis som returvärden, så att utdata från en matematisk funktion kan användas som parameter för en annan matematisk funktion.
- 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
Lösa länkfel med D3DX Math Functions
Matematikfunktionerna D3DX implementeras identiskt i D3DX10 (D3DX10math.h) och D3DX9 (D3DX9math.h). Detta kan orsaka länkfel om ett projekt implementerar både DirectX 9- och DirectX 10-kod och försöker länka en funktion från en rubrik med det motsatta biblioteket.
För att eliminera problemet med att inkludera båda rubrikerna innehåller D3DX10math.h följande #define:
#ifndef __D3DX9MATH_H__
#define __D3DX9MATH_H__
För att eliminera möjliga länkfel länkar DX SDK-exempel till D3DX9-biblioteken först (D3DX9d.lib och D3DX9.lib) och sedan D3DX10-biblioteken andra (D3DX10d.lib och D3DX10.lib). De här inställningarna finns under Projekt/Egenskaper om du använder Visual Studio.
Relaterade ämnen