数学関数 (Direct3D 10 グラフィックス)
注意
D3DX10 ユーティリティ ライブラリは非推奨です。 代わりに DirectXMath を使用することをお勧めします。
D3DX ユーティリティ ライブラリによって提供される数学ライブラリには、3D 数学演算を計算するための関数が用意されています。 各関数は、渡された [in] パラメーターおよび返された [out] パラメーターと同じオブジェクトを受け取ることができます。 また、出力パラメーターは通常、戻り値として返されるため、1 つの数学関数の出力を別の数学関数のパラメーターとして使用できます。
- 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
D3DX 数学関数を使用したリンク エラーの解決
D3DX 数学関数は、D3DX10 (D3DX10math.h) と D3DX9 (D3DX9math.h) で同じように実装されます。 これにより、プロジェクトが DirectX 9 と DirectX 10 の両方のコードを実装し、1 つのヘッダーから反対のライブラリに関数をリンクしようとすると、リンク エラーが発生する可能性があります。
両方のヘッダーを含めるという問題を解決するために、D3DX10math.h には次の#defineが含まれています。
#ifndef __D3DX9MATH_H__
#define __D3DX9MATH_H__
リンク エラーが発生する可能性を排除するために、DX SDK サンプルは最初に D3DX9 ライブラリ (D3DX9d.lib と D3DX9.lib) にリンクし、次に D3DX10 ライブラリ 2 番目 (D3DX10d.lib と D3DX10.lib) にリンクします。 Visual Studio を使用している場合、これらの設定は [プロジェクト/プロパティ] の下にあります。
関連トピック