본문 바로가기
반응형

DirectX11/정보정리14

[DirectX11] 행렬과 변환 ※ 아래의 내용들은 DirectX 11을 이용한 3D 게임 프로그래밍 입문 책의 내용을 바탕으로 작성된 것입니다. 행렬과 벡터 3차원 그래픽에서 점과 벡터를 변환할 때 1x4 행벡터, 4x4 행렬을 사용한다 - 동차좌표를 사용하기 때문 - 동차좌표를 사용할 경우 벡터와 점의 구분은 마지막 원소 w가 0이냐 1이냐로 구분하게 되고, 벡터는 w = 0, 점은 w = 1 이다 - 벡터는 이동에 대해서 변화가 없어야 하므로 동차좌표로 변환한 후 w를 0으로 설정해주면 이동에 아무런 영향을 받지 않을 수 있다. 동차좌표 벡터는 위치와 무관하게 방향과 크기만 서술하는 것이므로 벡터에 대해서는 이동 변환이 의미가 없다. - 이동 변환은 오직 점에만 적용이 되어야 한다. - 여기서 동차좌표를 이용하면 점과 벡터를 동일.. 2022. 10. 25.
[DirectX11] 벡터 조작 ※ 아래의 내용들은 DirectX 11을 이용한 3D 게임 프로그래밍 입문 책의 내용을 바탕으로 작성된 것입니다. SIMD의 장점을 취하여 벡터 연산을 효율적으로 하는 순서 1. 지역변수와 전역변수는 XMVECTOR를 사용한다. 2. 클래스 자료 멤버에는 XMFLOAT2, XMFLOAT3, XMFLOAT4 를 사용. 3. 계산을 수행하기 전에 적재 함수들을 이용해서 XMFLOAT*를 XMVECTOR로 변환. => XMFLOAT* 형식들을 직접 계산에 사용하면 SIMD 장점을 취하지 못한다. 따라서 XMVECTOR 형식으로 변환해야 한다. 4. 계산은 XMVECTOR 인스턴스들을 이용해서 수행 5. XMVECTOR를 XMFLOAT*로 변환하려면 저장 함수들을 사용한다. 매개변수 전달 플랫폼 독립성을 위해 .. 2022. 10. 24.
반응형