Skip to content

Vector2

Chuck Walbourn edited this page Nov 3, 2015 · 15 revisions

Two component vector class modeled after the XNA Game Studio math library.

Header

#include <SimpleMath.h>

Initialization

using namespace DirectX::SimpleMath;

Vector2 v;       // Creates a vector [0, 0]
Vector2 v(4);    // Creates a vector [4, 4]
Vector2 v(1, 2); // Creates a vector [1, 2]

float arr[2] = { 1, 2 };
Vector2 v(arr);  // Creates a vector [1, 2]

Fields

  • x component of vector
  • y component of vector

Methods

  • Comparison operators: == and !=
  • Assignment operators: =, +=, -=, *=, /=
  • Unary operators: +, -
  • InBounds
  • Length
  • LengthSquared
  • Dot
  • Cross
  • Normalize
  • Clamp

Statics

  • Distance
  • DistanceSquared
  • Min
  • Max
  • Lerp
  • SmoothStep
  • Barycentric
  • CatmullRom
  • Hermite
  • Reflect
  • Refract
  • Transform
  • TransformNormal

Constants

  • Zero: Zero vector [0, 0]
  • One: One vector [1, 1]
  • UnitX: Unit X vector [1, 0]
  • UnitY: Unit Y vector [0, 1]

Remark

Vector2 can freely convert to and from a XMFLOAT2 and XMVECTOR

For Use

  • Universal Windows Platform apps
  • Windows desktop apps
  • Windows 11
  • Windows 10
  • Windows 8.1
  • Xbox One

Architecture

  • x86
  • x64
  • ARM64

For Development

  • Visual Studio 2022
  • Visual Studio 2019 (16.11)
  • clang/LLVM v12 - v18
  • MinGW 12.2, 13.2
  • CMake 3.20

Related Projects

DirectX Tool Kit for DirectX 12

DirectXMesh

DirectXTex

DirectXMath

Win2D

Tools

Test Suite

Model Viewer

Content Exporter

DxCapsViewer

Clone this wiki locally