-
DirectX 11을 이용한 3D게임 프로그래밍 입문 연습문제 6 - 12Graphics/DX11 물방울책 연습문제 풀이 2021. 3. 24. 21:49
문제
a) 입력 배치 서술 구조체들의 순서가 반드시 정점 구조체 성분들의 순서와 일치해야 할까?
b) 정점 셰이더 구조체의 성분 순서가 c++ 정점 구조체 성분 순서와 일치해야 할까?
해결
a)
우선 구조체 배열의 순서를 바꿔도 정상적으로 작동할까? 에 대한 답을 듣기 전에 구조체에 어떤 정보가 담겨있는지 먼저 살펴보자.
여기서 우리가 눈여겨봐야 할것은 AlignedByteOffset이다. Vertex 구조체 변수를 가리키는 건 인덱스가 아닌 AlignedByteOffset변수이기 때문에 배열 순서가 바뀐다고 해서 변하는 게 없다. 즉 배열 원소 순서와 구조체 변수는 관계가 없으며 영향을 주는 변수가 따로 존재한다. 고로 순서를 바꿔도 잘 작동한다.
b)
정점 셰이더 구조체는 뒤에 의미소가 붙어있다. 그리고 그 의미소는 D3D11_INPUT_ELEMENT_DESC와 이어진다. 이 또한 마찬가지로 순서에 영향을 받지 않기 때문에 정상적으로 잘 작동한다.
'Graphics > DX11 물방울책 연습문제 풀이' 카테고리의 다른 글
DirectX 11을 이용한 3D게임 프로그래밍 입문 연습문제 8 (0) 2021.04.24 DirectX 11을 이용한 3D게임 프로그래밍 입문 연습문제 7 (0) 2021.04.03 DirectX 11을 이용한 3D게임 프로그래밍 입문 연습문제 6 - 10 (0) 2021.03.23 DirectX 11을 이용한 3D게임 프로그래밍 입문 연습문제 6 - 8 (0) 2021.03.21 DirectX 11을 이용한 3D게임 프로그래밍 입문 연습문제 6 - 7 (0) 2021.03.21