버그 해결을 위한 모든 질문을 던져
0 votes
174 views

DirectX를 이용해서 프로그래밍을 해보고 싶어 공부중인데, 튜토리얼을 따라가던 중 인덱스 버퍼의 구성에 따라 삼각형이 다르게 나오는 걸 파악했습니다. 그런데 왜 이렇게 되는지 이유를 잘 모르겠습니다..

삼각형 두 개로 구성된 사각형을 버텍스 버퍼와 인덱스 버퍼를 이용해 DrawIndexed로 그리는 아주 기초적인 예제인데,

인덱스 버퍼를 { {0, 1, 2}, {1, 2, 3} } 으로 구성하면 사각형이 정상적으로 그려지만

{ {0, 1, 2}, {1, 3, 2} } 와 같이 두 번째 삼각형을 구성하는 원소 두개의 순서만 바꾸니까 첫 번째 삼각형 하나만 그려집니다.

다른 코드는 전혀 건드리지 않았는데.. 혹시 제가 모르는 부분이 있을까요?

(1) (0, 1, 2 - 1, 2, 3 으로 인덱스 버퍼를 구성했을 때)

(2) (0, 1, 2 - 1, 3, 2 로 인덱스 버퍼를 구성했을 때) 

 

asked (24 point) , 174 views

1 답변

+1 vote
우수 답변
시계방향으로 그려야 출력됩니다. 최적화를 위해 한쪽면만 그리기 때문이죠.

카메라를 반대방향으로 돌려놓고 보시면 {1,3,2} 삼각형이 보일겁니다. 반대로 {0,1,2} 삼각형은 안보이겠죠.

 

카메라가 보는 방향 Z축일 때, {1,2,3} 이 시계방향

카메라가 보는 방향 -Z축 일 때, {1,3,2} 이 시계방향
answered (40 point)
선택됨
아 그렇군요!! 정말 감사합니다.

버그 해결을 위해 도움을 구하고, 도움을 주세요. 우리는 그렇게 발전합니다.

throw bug 는 프로그래밍에 대한 전분야를 다룹니다. 질문,논의거리,팁,정보공유 모든 것이 가능합니다. 프로그래밍과 관련이 없는 내용은 환영받지 못합니다.

610 질문
767 answers
730 댓글
118,355 users