DirectX 11学習ノート5-D 3 DXMAthライブラリ
directx 11は特にベクトル行列の計算に用いる数学ライブラリを発売し,128ビットを用いて4本の32ビットデータ(SIMD)を同時に計算した.
従来は基本的にdirectx 10 mathを用いる.hこのヘッダファイル.この数学ライブラリは新しく出た以上,ハードウェアの扱いが以前よりずっと速く,最適化されているに違いない.技術は永遠に果てしないですね.新しいものをお勧めします
xnamathは単独で使用できるようになった.h directx 9 10 11はすべてこのライブラリを使うことができて、とても便利です.次の表は、以前の数学ライブラリから置換関数をすばやく見つけることができます.
ところで昨夜穴に出会った.長い間解決した.もともとxnamathの中のxmatrix xmvectorなどが位置合わせの問題にかかわっているからです.
ローカル変数、グローバル変数では感じられません.ハードウェアは自動的に配置されます.しかし、クラスメンバー変数に置くと、エラーが発生しやすくなります.それにあなたはその問題だとは見えません.
長い間デバッグしていました.したがって、このライブラリを使用するときは、クラスメンバー変数として設定することをできるだけ避けます.
次のセクションでは、以前のパッケージをxnamathライブラリの完全なソースコードにアップグレードし、三角形を描くことを実現します.以降のチュートリアルでは、このソースコードで説明します.
彼らの違いのクイッククエリ:
従来は基本的にdirectx 10 mathを用いる.hこのヘッダファイル.この数学ライブラリは新しく出た以上,ハードウェアの扱いが以前よりずっと速く,最適化されているに違いない.技術は永遠に果てしないですね.新しいものをお勧めします
xnamathは単独で使用できるようになった.h directx 9 10 11はすべてこのライブラリを使うことができて、とても便利です.次の表は、以前の数学ライブラリから置換関数をすばやく見つけることができます.
ところで昨夜穴に出会った.長い間解決した.もともとxnamathの中のxmatrix xmvectorなどが位置合わせの問題にかかわっているからです.
ローカル変数、グローバル変数では感じられません.ハードウェアは自動的に配置されます.しかし、クラスメンバー変数に置くと、エラーが発生しやすくなります.それにあなたはその問題だとは見えません.
長い間デバッグしていました.したがって、このライブラリを使用するときは、クラスメンバー変数として設定することをできるだけ避けます.
次のセクションでは、以前のパッケージをxnamathライブラリの完全なソースコードにアップグレードし、三角形を描くことを実現します.以降のチュートリアルでは、このソースコードで説明します.
彼らの違いのクイッククエリ:
D3DXMath Type DirectXMath Equivalent
D3DXFLOAT16 HALF
D3DXMATRIXA16 XMMATRIX or XMFLOAT4X4A
D3DXQUATERNION
D3DXPLANE
D3DXCOLOR
XMVECTOR is used rather than having unique types, so you will likely need to use an XMFLOAT4
Note D3DXQUATERNION::operator * calls the D3DXQuaternionMultiply function, which multiplies two quaternions. But, unless you explicitly use the XMQuaternionMultiply function, you get an incorrect answer when you use XMVECTOR::operator * on a quaternion.
D3DXVECTOR2 XMFLOAT2
D3DXVECTOR2_16F XMHALF2
D3DXVECTOR3 XMFLOAT3
D3DXVECTOR4 XMFLOAT4
(or if you can guarantee the data is 16-byte aligned, XMVECTOR or XMFLOAT4A )
D3DXVECTOR4_16F XMHALF4
Note There is no direct equivalent to D3DXVECTOR3_16F in XNAMath.
D3DXMath Macro DirectXMath Equivalent
D3DX_PI XM_PI
D3DX_1BYPI XM_1DIVPI
D3DXToRadian XMConvertToRadians
D3DXToDegree XMConvertToDegrees
D3DXMath Function DirectXMath Equivalent
D3DXBoxBoundProbe BoundingBox::Intersects(XMVECTOR, XMVECTOR, float&)
D3DXComputeBoundingBox BoundingBox::CreateFromPoints
D3DXComputeBoundingSphere BoundingSphere::CreateFromPoints
D3DXSphereBoundProbe BoundingSphere::Intersects(XMVECTOR, XMVECTOR, float&)
D3DXIntersectTriFunction TriangleTests::Intersects
D3DXFloat32To16Array XMConvertFloatToHalfStream
D3DXFloat16To32Array XMConvertHalfToFloatStream
D3DXVec2Length XMVector2Length or XMVector2LengthEst
D3DXVec2LengthSq XMVector2LengthSq
D3DXVec2Dot XMVector2Dot
D3DXVec2CCW XMVector2Cross
D3DXVec2Add XMVectorAdd
D3DXVec2Subtract XMVectorSubtract
D3DXVec2Minimize XMVectorMin
D3DXVec2Maximize XMVectorMax
D3DXVec2Scale XMVectorScale
D3DXVec2Lerp XMVectorLerp or XMVectorLerpV
D3DXVec2Normalize XMVector2Normalize or XMVector2NormalizeEst
D3DXVec2Hermite XMVectorHermite or XMVectorHermiteV
D3DXVec2CatmullRom XMVectorCatmullRom or XMVectorCatmullRomV
D3DXVec2BaryCentric XMVectorBaryCentric or XMVectorBaryCentricV
D3DXVec2Transform XMVector2Transform
D3DXVec2TransformCoord XMVector2TransformCoord
D3DXVec2TransformNormal XMVector2TransformNormal
D3DXVec2TransformArray XMVector2TransformStream
D3DXVec2TransformCoordArray XMVector2TransformCoordStream
D3DXVec2TransformNormalArray XMVector2TransformNormalStream
D3DXVec3Length XMVector3Length or XMVector3LengthEst
D3DXVec3LengthSq XMVector3LengthSq
D3DXVec3Dot XMVector3Dot
D3DXVec3Cross XMVector3Cross
D3DXVec3Add XMVectorAdd
D3DXVec3Subtract XMVectorSubtract
D3DXVec3Minimize XMVectorMin
D3DXVec3Maximize XMVectorMax
D3DXVec3Scale XMVectorScale
D3DXVec3Lerp XMVectorLerp or XMVectorLerpV
D3DXVec3Normalize XMVector3Normalize or XMVector3NormalizeEst
D3DXVec3Hermite XMVectorHermite or XMVectorHermiteV
D3DXVec3CatmullRom XMVectorCatmullRom or XMVectorCatmullRomV
D3DXVec3BaryCentric XMVectorBaryCentric or XMVectorBaryCentricV
D3DXVec3Transform XMVector3Transform
D3DXVec3TransformCoord XMVector3TransformCoord
D3DXVec3TransformNormal XMVector3TransformNormal
D3DXVec3TransformArray XMVector3TransformStream
D3DXVec3TransformCoordArray XMVector3TransformCoordStream
D3DXVec3TransformNormalArray XMVector3TransformNormalStream
D3DXVec3Project XMVector3Project
D3DXVec3Unproject XMVector3Unproject
D3DXVec3ProjectArray XMVector3ProjectStream
D3DXVec3UnprojectArray XMVector3UnprojectStream
D3DXVec4Length XMVector4Length or XMVector4LengthEst
D3DXVec4LengthSq XMVector4LengthSq
D3DXVec4Dot XMVector4Dot
D3DXVec4Add XMVectorAdd
D3DXVec4Subtract XMVectorSubtract
D3DXVec4Minimize XMVectorMin
D3DXVec4Maximize XMVectorMax
D3DXVec4Scale XMVectorScale
D3DXVec4Lerp XMVectorLerp or XMVectorLerpV
D3DXVec4Cross XMVector4Cross
D3DXVec4Normalize XMVector4Normalize or XMVector4NormalizeEst
D3DXVec4Hermite XMVectorHermite or XMVectorHermiteV
D3DXVec4CatmullRom XMVectorCatmullRom or XMVectorCatmullRomV
D3DXVec4BaryCentric XMVectorBaryCentric or XMVectorBaryCentricV
D3DXVec4Transform XMVector4Transform
D3DXVec4TransformArray XMVector4TransformStream
D3DXMatrixIdentity XMMatrixIdentity
D3DXMatrixDeterminant XMMatrixDeterminant
D3DXMatrixDecompose XMMatrixDecompose
D3DXMatrixTranspose XMMatrixTranspose
D3DXMatrixMultiply XMMatrixMultiply
D3DXMatrixMultiplyTranspose XMMatrixMultiplyTranspose
D3DXMatrixInverse XMMatrixInverse
D3DXMatrixScaling XMMatrixScaling
D3DXMatrixTranslation XMMatrixTranslation
D3DXMatrixRotationX XMMatrixRotationX
D3DXMatrixRotationY XMMatrixRotationY
D3DXMatrixRotationZ XMMatrixRotationZ
D3DXMatrixRotationAxis XMMatrixRotationAxis
D3DXMatrixRotationQuaternion XMMatrixRotationQuaternion
D3DXMatrixRotationYawPitchRoll XMMatrixRotationRollPitchYaw (Note the order of parameters is different: D3DXMatrixRotationYawPitchRoll takes yaw, pitch, roll, XMMatrixRotationRollPitchYaw takes pitch, yaw, roll)
D3DXMatrixTransformation XMMatrixTransformation
D3DXMatrixTransformation2D XMMatrixTransformation2D
D3DXMatrixAffineTransformation XMMatrixAffineTransformation
D3DXMatrixAffineTransformation2D XMMatrixAffineTransformation2D
D3DXMatrixLookAtRH XMMatrixLookAtRH
D3DXMatrixLookAtLH XMMatrixLookAtLH
D3DXMatrixPerspectiveRH XMMatrixPerspectiveRH
D3DXMatrixPerspectiveLH XMMatrixPerspectiveLH
D3DXMatrixPerspectiveFovRH XMMatrixPerspectiveFovRH
D3DXMatrixPerspectiveFovLH XMMatrixPerspectiveFovLH
D3DXMatrixPerspectiveOffCenterRH XMMatrixPerspectiveOffCenterRH
D3DXMatrixPerspectiveOffCenterLH XMMatrixPerspectiveOffCenterLH
D3DXMatrixOrthoRH XMMatrixOrthographicRH
D3DXMatrixOrthoLH XMMatrixOrthographicLH
D3DXMatrixOrthoOffCenterRH XMMatrixOrthographicOffCenterRH
D3DXMatrixOrthoOffCenterLH XMMatrixOrthographicOffCenterLH
D3DXMatrixShadow XMMatrixShadow
D3DXMatrixReflect XMMatrixReflect
D3DXQuaternionLength XMQuaternionLength
D3DXQuaternionLengthSq XMQuaternionLengthSq
D3DXQuaternionDot XMQuaternionDot
D3DXQuaternionIdentity XMQuaternionIdentity
D3DXQuaternionIsIdentity XMQuaternionIsIdentity
D3DXQuaternionConjugate XMQuaternionConjugate
D3DXQuaternionToAxisAngle XMQuaternionToAxisAngle
D3DXQuaternionRotationMatrix XMQuaternionRotationMatrix
D3DXQuaternionRotationAxis XMQuaternionRotationAxis
D3DXQuaternionRotationYawPitchRoll XMQuaternionRotationRollPitchYaw (Note the order of parameters is different: D3DXQuaternionRotationYawPitchRoll takes yaw, pitch, roll, XMQuaternionRotationRollPitchYaw takes pitch, yaw, roll)
D3DXQuaternionMultiply XMQuaternionMultiply
D3DXQuaternionNormalize XMQuaternionNormalize or XMQuaternionNormalizeEst
D3DXQuaternionInverse XMQuaternionInverse
D3DXQuaternionLn XMQuaternionLn
D3DXQuaternionExp XMQuaternionExp
D3DXQuaternionSlerp XMQuaternionSlerp or XMQuaternionSlerpV
D3DXQuaternionSquad XMQuaternionSquad or XMQuaternionSquadV
D3DXQuaternionSquadSetup XMQuaternionSquadSetup
D3DXQuaternionBaryCentric XMQuaternionBaryCentric or XMQuaternionBaryCentricV
D3DXPlaneDot XMPlaneDot
D3DXPlaneDotCoord XMPlaneDotCoord
D3DXPlaneDotNormal XMPlaneDotNormal
D3DXPlaneScale XMVectorScale
D3DXPlaneNormalize XMPlaneNormalize or XMPlaneNormalizeEst
D3DXPlaneIntersectLine XMPlaneIntersectLine
D3DXPlaneFromPointNormal XMPlaneFromPointNormal
D3DXPlaneFromPoints XMPlaneFromPoints
D3DXPlaneTransform XMPlaneTransform
D3DXPlaneTransformArray XMPlaneTransformStream
D3DXColorNegative XMColorNegative
D3DXColorAdd XMVectorAdd
D3DXColorSubtract XMVectorSubtract
D3DXColorScale XMVectorScale
D3DXColorModulate XMColorModulate
D3DXColorLerp XMVectorLerp or XMVectorLerpV
D3DXColorAdjustSaturation XMColorAdjustSaturation
D3DXColorAdjustContrast XMColorAdjustContrast
D3DXFresnelTerm XMFresnelTerm