[1]. 이제부터 저장하는 용도와, 연산하는 용도로만 쓰이는 벡터나 행렬의 자료형들에 신경써줄 필요가 있다.

[2]. 저기서 SIMMD 연산용 벡터을 설명하면, 연산은 빠르지만, 평소의 구조체 접근하듯, “ . 접근연산자 “ 를통한 접근이 되지않는다. 따라서 만약 내가 벡터에서 x 나 y 를 꺼내오고 싶다면, 함수로 접근해야 한다. 밑에 언급할, x 나 y 의 값을 꺼내주는 함수가 제공되어 있다.
[3]. 메모리 영역 중, Stack 영역에 한 번 할당된 메모리는 바뀌지 않는다. 그래서 함수를 통한 호출로, 스택 메모리를 한 번에 할당하는 구조로 가게된다 → 이는 스택 프레임이라는 기본 과정, SIMMD 도 연산도 이런 흐름으로 연산 과정이 진행된다.
[4]. FXMVECTOR 나 GXMVECTOR 들은, 개발자들의 사용환경 플랫폼에 알아서 최적화 되게끔 Microsoft 측에서 규칙을 정해준 공통된 구조체 타입이라고 보면 되겠다.
[5]. 연산용 행렬은, 주로 행렬의 행 정보를 가지고 와서 처리를 한다.
[6]. 주된 처리 과정은 다음과 같다.
[7]. 현재 Transform 클래스의 h파일에, 저장용 행렬 변수를 사용하고 있는데 (_float4x4) , 만약 사용자가 행렬에서, Scale의 정보를 가져오고 싶다면,
[8]. 행렬 A → 0 0 -1 0 라는 1행에서 x의 scale 길이는 1 ,
[9]. 행렬 A → 0 1 0 0 라는 2행에서 y의 scale 길이는 1,
[10]. Transform 클래스에 앞 뒤 옆 으로 움직이는 함수와, LookAt 함수, 등을 구현한다.
[11]. 먼저 열거체로 행렬의 행 순서를 고려한 RIGHT UP LOOK POSITON 을 추가한다.
[12]. Get / Set 함수를 만들어서 , 각각 어떤 행의 정보를 꺼내올 것인가 라는 연산용 벡터의 Get 함수와, 형변환을 하고난 결과를 받아주는 Set 함수를 만든다.
[13]. XMLoadFloat4x4 함수는, 저장용을 연산용으로 치환한다는 함수이고, 이를 통해 연산용 행렬이 된다.
[14]. 저장용 행렬의 주소에서, r : 행 , 즉 몇 번 째 행에 접근해서 연산용 행렬로 반환 싸악 하는 것이다.