From 0e935f6890ae46fe6078f151f0b2fc9ea753acdc Mon Sep 17 00:00:00 2001 From: Chuck Walbourn Date: Wed, 10 Mar 2021 21:58:11 -0800 Subject: [PATCH] Updated Home (markdown) --- Home.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Home.md b/Home.md index 6527488..a7fb0a5 100644 --- a/Home.md +++ b/Home.md @@ -85,6 +85,12 @@ Details on moving from XNAMath to DirectXMath are covered in [Code Migration fro Moving from the legacy D3DX9/D3DX10 D3DXMath is covered in [Working with D3DXMath](https://docs.microsoft.com/en-us/windows/desktop/dxmath/pg-xnamath-migration-d3dx). +# Math conventions + +DirectX has historically used row-major matrices, row vectors, pre-multiplication, and left-handed coordinates. The DirectXMath library uses row-major matrices, and offers both left-handed (``LH``) and right-handed (``RH``) coordinate versions of the relevant matrix functions. + +See [this blog post](https://seanmiddleditch.com/matrices-handedness-pre-and-post-multiplication-row-vs-column-major-and-notations/) for a detailed description of the convention choices, and the historic context for the DirectX vs. OpenGL differences in conventions. + # Calling convention Be sure to read the [Microsoft Docs](https://docs.microsoft.com/en-us/windows/desktop/dxmath/pg-xnamath-internals#Call_Conventions) details on the calling convention types which are designed to deal with the various architectures and vector calling conventions. The best way to ensure you have them correct is to attempt to build your code with x86, x64, and ARM.