Skip to content

Releases: microsoft/DirectXMath

March 2013

Choose a tag to compare

@walbourn walbourn released this 23 May 21:24

DirectXMath 3.04

  • XMVectorExp2, XMVectorLog2, XMVectorExpE, and XMVectorLogE functions added to provide base-e support in addition to the existing base-2 support
  • XMVectorExp and XMVectorLog are now aliases for XMVectorExp2 and XMVectorLog2
  • Additional optimizations for Stream functions
  • XMVector3Cross now ensures w component is zero on ARM
  • XMConvertHalfToFloat and XMConvertFloatToHalf now use IEEE 754 standard float16 behavior for INF/QNAN
  • Updated matrix version Transform for BoundingOrientedBox and BoundingFrustum to handle scaling

Windows SDK for Windows 8

Choose a tag to compare

@walbourn walbourn released this 23 May 21:19

DirectXMath 3.03 shipping for Visual Studio 2012

  • Breaking change: Removed union members from XMMATRIX type to make it a fully 'opaque' type
  • Marked single-parameter C++ constructors for XMFLOAT2, XMFLOAT2A, XMFLOAT3, XMFLOAT3A, XMFLOAT4, and XMFLOAT4A explicit

See this post, and this post for known issues.

This version is also available on NuGet.

DirectX SDK (March 2009)

Choose a tag to compare

@walbourn walbourn released this 23 May 19:51

XNA Math provides developers a cross-platform native-code method of generating SIMD instructions without having to resort to special case code. Based on the Xbox 360 SDK's Xbox math library, this set of headers supports the most common vectorized math operations used in graphics and animation. The implementation supports Windows 32-bit (x86) and Windows 64-bit (x64) targets using SSE2 intrinsics, and is fully cross-platform with the optimized Xbox 360 XDK version.

DirectX SDK (June 2010)

Choose a tag to compare

@walbourn walbourn released this 23 May 19:56

XNA Math version 2.03 includes the following changes:

  • Addition of XMVectorDivide to optimize SSE2 vector division operations
  • Unified handling of floating-point specials between the Windows SSE2 and no-intrinsics implementations
  • Use of Visual Studio style SAL annotations
  • Modifications to the C++ declarations for XMFLOAT2A/3A/4A/4X3A/4X4A to better support these types in C++ templates

See this post for known issues.

July 2012

Choose a tag to compare

@walbourn walbourn released this 23 May 20:00

XNA Math version 2.05 includes the following changes (primarily to be more consistent with DirectXMath):

  • Template forms have been added for XMVectorPermute, XMVectorSwizzle, XMVectorShiftLeft, XMVectorRotateLeft, XMVectorRotateRight, and XMVectorInsert
  • The XM_STRICT_XMMATRIX compilation define has been added for opaque XMMATRIX.
  • Stream stride and count arguments have been changed to size_t
  • The pDeterminant parameter of XMMatrixInverse is now optional
  • Additional operator= overloads for XMBYTEN4, XMBYTE4, XMUBYTEN4, and XMUBYTE4 types are now available

Code written to be portable between XNA Math and DirectXMath should make use of XM_STRICT_MATRIX & XM_STRICT_VECTOR4, and prefer the use of template forms (using 0-3 or 0-7 indices rather than XM_PERMUTE_* or XM_SWIZZLE_* constants).

See this post.

February 2011

Choose a tag to compare

@walbourn walbourn released this 23 May 19:58

XNA Math version 2.04 includes the following changes:

  • Addition of new data types and associated load-store functions:
    • XMBYTEN2, XMBYTE2, XMUBYTEN2, XMUBYTE2
    • XMLoadByteN2, XMLoadByte2, XMLoadUByteN2, XMLoadUByte2
    • XMStoreByteN2, XMStoreByte2, XMStoreUByteN2, XMStoreUByte2
    • XMINT2, XMUINT2, XMINT3, XMUINT3, XMINT4, XMUINT4
    • XMLoadSInt2, XMLoadUInt2, XMLoadSInt3, XMLoadUInt3, XMLoadSInt4, XMLoadUInt4
    • XMStoreSInt2, XMStoreUInt2, XMStoreSInt3, XMStoreUInt3, XMStoreSInt4, XMStoreUInt4
  • Marked most single-parameter C++ constructors with explicit keyword
  • Corrected range issues with SSE implementations of XMVectorFloor and XMVectorCeiling

See this post.

DirectX SDK (February 2010)

Choose a tag to compare

@walbourn walbourn released this 23 May 19:54

A minor revision to the library (version 2.02), includes a number of customer-reported fixes, optimizations, and improvements. Included are notable fixes to XMStoreColor, XMQuaternionRotationMatrix, XMVectorATan2, and XMVectorATan2Est

DirectX SDK (August 2009)

Choose a tag to compare

@walbourn walbourn released this 23 May 19:53

XNA Math, version 2.01, now has new compiler directive, XM_STRICT_VECTOR4. This opt-in directive disallows the usage of XboxMath-like member accessors such as .x, .y, and .z. This makes it easier to write portable XNA Math code.

Additionally, XNA Math has added conversion support for the following Windows graphics formats:

  • 16-bit color formats (565, 555X, 5551)
  • 4-bits per channel color formats (4444)
  • Unique Direct3D 10/11 formats (DXGI_FORMAT_R9G9B9E5_SHAREDEXP and DXGI_FORMAT_R11G11B10_FLOAT)

Windows SDK for Windows 8.1 (Spring 2015 Update)

Choose a tag to compare

@walbourn walbourn released this 23 May 21:36

DirectXMath 3.07 in VS 2013 Update 5 and VS 2015 RTM, the Windows phone 8.1 SDK Spring 2015 update, and the Windows 10 SDK (10240).

  • Fix customer reported bugs in BoundingBox methods
  • Fix customer reported bug in XMStoreFloat3SE
  • Fix customer reported bug in XMVectorATan2, XMVectorATan2Est
  • Fix customer reported bug in XMVectorRound

See this post.

This version is also available on NuGet.

Windows SDK For Windows 8 Developer Preview

Choose a tag to compare

@walbourn walbourn released this 23 May 21:06

New revision as DirectXMath (version 3.00) shipping in the ''VS 11 Developer Preview''.

  • Renamed and reorganized the headers
  • Introduced C++ namespaces (DirectX, DirectX::PackedVector)
  • Removed the Xbox 360-specific GPU types (HENDN3, XMHEND3, XMUHENDN3, XMUHEND3, XMDHENN3, XMDHEN3, XMUDHENN3, XMUDHEN3, XMXICON4, XMXICO4, XMICON4, XMICO4, XMUICON4, XMUICO4)

See this post.