다음을 통해 공유


XMMATRIX 구조체(directxmath.h)

4개의 하드웨어 벡터 레지스터에 매핑되는 16비트 경계에 맞춰진 4*4 행렬을 설명합니다.

DirectXMath는 행 주 행렬, 행 벡터 및 사전 곱셈을 사용합니다. 손수는 사용되는 함수 버전(RH 및 LH)에 따라 결정됩니다.

C++에서 프로그래밍할 때 사용할 XMMATRIX 수 있는 생성자 및 연산자와 같은 추가 기능 목록은 XMMATRIX 확장을 참조하세요.

참고 해당하는 D3DDECLTYPE, D3DFORMATDXGI_FORMAT 개체에 대한 자세한 내용은 DirectXMath 라이브러리 형식 동등성을 참조하세요.
 

구문

struct XMMATRIX {
  union {
    XMVECTOR r[4];
    struct {
      float _11;
      float _12;
      float _13;
      float _14;
      float _21;
      float _22;
      float _23;
      float _24;
      float _31;
      float _32;
      float _33;
      float _34;
      float _41;
      float _42;
      float _43;
      float _44;
    };
    float    m[4][4];
  };
  XMVECTOR              r[4];
  void                  XMMATRIX();
  void                  XMMATRIX(
    const XMMATRIX & unnamedParam1
  );
  XMMATRIX &            operator=(
    const XMMATRIX & M
  ) noexcept;
  XMMATRIX &            operator=(
    const XMMATRIX & unnamedParam1
  );
  void                  XMMATRIX(
    XMMATRIX && unnamedParam1
  );
  XMMATRIX &            operator=(
    XMMATRIX && unnamedParam1
  );
  void                  XMMATRIX(
    FXMVECTOR R0,
    FXMVECTOR R1,
    FXMVECTOR R2,
    CXMVECTOR R3
  ) noexcept;
  void                  XMMATRIX(
    float m00,
    float m01,
    float m02,
    float m03,
    float m10,
    float m11,
    float m12,
    float m13,
    float m20,
    float m21,
    float m22,
    float m23,
    float m30,
    float m31,
    float m32,
    float m33
  ) noexcept;
  void                  XMMATRIX(
    const float *pArray
  ) noexcept;
  float                 operator()(
    size_t Row,
    size_t Column
  ) noexcept;
  float &               operator()(
    size_t Row,
    size_t Column
  ) noexcept;
  XMMATRIX              operator+() noexcept;
  XMMATRIX              operator-() noexcept;
  XMMATRIX &XM_CALLCONV operator+=(
    FXMMATRIX M
  ) noexcept;
  XMMATRIX &XM_CALLCONV operator-=(
    FXMMATRIX M
  ) noexcept;
  XMMATRIX &XM_CALLCONV operator*=(
    FXMMATRIX M
  ) noexcept;
  XMMATRIX &            operator*=(
    float S
  ) noexcept;
  XMMATRIX &            operator/=(
    float S
  ) noexcept;
  XMMATRIX XM_CALLCONV  operator+(
    FXMMATRIX M
  ) noexcept;
  XMMATRIX XM_CALLCONV  operator-(
    FXMMATRIX M
  ) noexcept;
  XMMATRIX XM_CALLCONV  operator*(
    FXMMATRIX M
  ) noexcept;
  XMMATRIX              operator*(
    float S
  ) noexcept;
  XMMATRIX              operator/(
    float S
  ) noexcept;
};

멤버

r[4]

행렬의 행을 나타내는 4개의 벡터 배열입니다.

_11

_12

_13

_14

_21

_22

_23

_24

_31

_32

_33

_34

_41

_42

_43

_44

m[4]

void XMMATRIX()

에 대 한 기본 생성자 XMMATRIX합니다.

XMMATRIX의 기본 생성자입니다.

참고 이 생성자는 C++를 사용하여 개발하는 경우에만 사용할 수 있습니다.
 

void XMMATRIX( const XMMATRIX & unnamedParam1)

에 대한 생성자입니다 XMMATRIX.

XMMATRIX에 대한 생성자입니다.

참고 이 생성자는 C++를 사용하여 개발하는 경우에만 사용할 수 있습니다.

XMMATRIX & operator=( const XMMATRIX & M) noexcept

의 현재 instance XMMATRIXXMMATRIX 의 instance 행렬 데이터를 할당하고 를 현재 instance 반환 reference 합니다.

이 연산자는 XMMATRIX의 한 instance 행렬 데이터를 의 현재 instance XMMATRIX 할당하고 를 현재 instance 반환합니다reference.

참고 이 연산자는 C++를 사용하여 개발하는 경우에만 사용할 수 있습니다.
 

XMMATRIX & operator=( const XMMATRIX & unnamedParam1)

void XMMATRIX( XMMATRIX && unnamedParam1)

XMMATRIX & operator=( XMMATRIX && unnamedParam1)

void XMMATRIX( FXMVECTOR R0, FXMVECTOR R1, FXMVECTOR R2, CXMVECTOR R3) noexcept

4개의 인스턴스에서 XMMATRIX 구조체의 새 instance 초기화합니다XMVECTOR.

XMVECTOR 데이터 형식의 4개 인스턴스에서 XMMATRIX 구조체의 새 instance 초기화합니다.

참고 이 생성자는 C++를 사용하여 개발하는 경우에만 사용할 수 있습니다.

void XMMATRIX( float m00, float m01, float m02, float m03, float m10, float m11, float m12, float m13, float m20, float m21, float m22, float m23, float m30, float m31, float m32, float m33) noexcept

16개의 스칼라 float 값에서 구조체의 XMMATRIX 새 instance 초기화합니다.

16개의 스칼라 float 값에서 XMMATRIX 구조체의 새 instance 초기화합니다.

참고 이 생성자는 C++를 사용하여 개발하는 경우에만 사용할 수 있습니다.
 

void XMMATRIX( const float *pArray) noexcept

16개의 요소 float 배열에서 XMMATRIX 구조체의 새 instance 초기화합니다.

16개의 요소 float 배열에서 XMMATRIX 구조체의 새 instance 초기화합니다.

참고 이 생성자는 C++를 사용하여 개발하는 경우에만 사용할 수 있습니다.
 

float operator()( size_t Row, size_t Column) noexcept

float & operator()( size_t Row, size_t Column) noexcept

reference 행 및 열 인수에 지정된 대로 instance XMMATRIX 행렬 요소에 를 반환합니다.

이 연산자는 reference 행 및 열 인수에 지정된 대로 instance XMMATRIX의 행렬 요소에 를 반환합니다.

참고 이 연산자는 C++를 사용하여 개발하는 경우에만 사용할 수 있습니다.
 

XMMATRIX operator+() noexcept

XMMATRIX operator-() noexcept

XMMATRIX &XM_CALLCONV operator+=( FXMMATRIX M) noexcept

XMMATRIX &XM_CALLCONV operator-=( FXMMATRIX M) noexcept

XMMATRIX &XM_CALLCONV operator*=( FXMMATRIX M) noexcept

의 현재 instance 다른 instance XMMATRIXXMMATRIX 행렬 곱셈을 수행하고 업데이트된 현재 instance 대한 참조를 반환합니다.

이 연산자는 XMMATRIX의 현재 instance 다른 instance XMMATRIX 행렬 곱셈을 수행하고 업데이트된 현재 instance 대한 참조를 반환합니다.

참고 이 연산자는 C++를 사용하여 개발하는 경우에만 사용할 수 있습니다.
 

XMMATRIX & operator*=( float S) noexcept

XMMATRIX & operator/=( float S) noexcept

XMMATRIX XM_CALLCONV operator+( FXMMATRIX M) noexcept

XMMATRIX XM_CALLCONV operator-( FXMMATRIX M) noexcept

XMMATRIX XM_CALLCONV operator*( FXMMATRIX M) noexcept

의 현재 instance 의 다른 instance XMMATRIX 행렬 곱셈을 XMMATRIX수행합니다.

이 연산자는 XMMATRIX의 현재 instance 의 다른 instance 행렬 곱셈을 XMMATRIX수행합니다.

참고 이 연산자는 C++를 사용하여 개발하는 경우에만 사용할 수 있습니다.
 

XMMATRIX operator*( float S) noexcept

XMMATRIX operator/( float S) noexcept

설명

DirectXMath.h 헤더 파일에서 시스템은 개체, 특히 CXMMATRIXXMMATRIX 대한 별칭을 사용합니다. 헤더는 별칭을 사용하여 다양한 컴파일러의 최적의 인라인 호출 규칙을 준수합니다. DirectXMath를 사용하는 대부분의 프로젝트에서는 이를 에 대한 정확한 별칭으로 처리하기에 충분합니다 XMMATRIX.

효과적 으로:


typedef const XMMATRIX CXMMATRIX;

다양한 플랫폼의 호출 규칙을 처리하는 방법에 대한 자세한 정보가 필요한 프로젝트는 라이브러리 내부를 참조하세요.

XMMATRIX 는 row-major이고 를 매개 변수로 수락 XMMATRIX 하는 모든 DirectXMath 함수는 데이터가 행 주로 구성될 것으로 예상합니다.

XMMATRIX 데이터에는 다음과 같은 레이아웃이 있습니다.


_11 _12 _13 _14
_21 _22 _23 _24
_31 _32 _33 _34
_41 _42 _43 _44

DirectXMath는 XMMATRIX 를 완전히 불투명한 형식으로 정의합니다. XMMATRIX의 개별 요소에 액세스하려면 지정된 행에 대한 XMFLOAT4 또는 전체 행렬의 XMFLOAT4X4 같은 동등한 형식을 사용합니다.

참고 XNAMath 2.x는 XMMATRIX_11 ~ _44 멤버와 m 배열 멤버가 있는 공용 구조체로 정의됩니다. 이러한 조합원을 사용하는 경우 성능이 저하됩니다. DirectXMath.h는 _XM_NO_INTRINSICS_ 사용하여 앱을 빌드할 때 이러한 XMMATRIX 공용 구조체 멤버를 여전히 정의합니다. XNAMath 버전 2.05는 DirectXMath 동작을 적용하는 옵트인 XM_STRICT_XMMATRIX 제공합니다.
 
네임 스페이스: DirectX 사용

플랫폼 요구 사항

Windows 8 Windows SDK를 사용하는 Microsoft Visual Studio 2010 또는 Microsoft Visual Studio 2012. Win32 데스크톱 앱, Windows 스토어 앱 및 Windows Phone 8개 앱에 지원됩니다.

요구 사항

요구 사항
헤더 directxmath.h

추가 정보

DirectXMath 라이브러리 구조체

XMFLOAT4X4

XMMATRIX 확장