버그 해결을 위한 모든 질문을 던져
0 votes
138 views
현재 학습하고 있는 책에선 뷰 변환을 설명할 때 카메라(뷰) 공간을 월드 공간에 맞추더라구요.

근데 뭐 좀 헷갈리는 부분이 있어서 구글링좀 하다보니 다른 분들은 반대로 월드 공간을 카메라 공간에 일치시키더라구요.

같이 이동하는 물체들의 결과 좌표가 같으면 몰라도 당연히 다른데 뭐 어떻게 되는건가요?
asked (11 point) , 138 views

1 답변

0 votes
레더링 파이프라인은 월드공간 다음에 카메라 공간으로 가는게 일반적이고요.

월드 -> 카메라 매트릭스가 M이라고 하면, Inverse M이면 카메라 -> 월드로 가는 매트릭스를 사용하려고 만든 것으로 보이네요.

뭐.. Picking이나 RayCast같은거 할때 필요하지 않을까요?
answered (107 point)
우선 답변 감사합니다.

근데 제가 질문을 명확하지 않게 드린 것 같네요..

제가 궁금했던 건, 뷰 변환에서 월드 공간의 물체들을 카메라 공간(뷰 공간)으로 이전할 때 제가 보는 책에선 카메라 공간의 원점과 기저를 월드 공간의 원점과 기저에 일치시킴으로써 공간을 이전하는데, 다른 인터넷 자료들에선 반대로 하길래 달라도 상관없는 것인지 궁금한 것이었습니다..!

글쓴이분이 말씀하시는 내용이

https://celdee.tistory.com/543

해당 링크 내용과 동일해 보이네요.

내용을 발췌해서 살펴보면...

"이제, 시점 좌표계가 정의되었으면 두 좌표계 사이의 상관 관계를 알 수 있다. 이제 다시 그래픽 시스템 구현자 입장으로 돌아가보면, 카메라에 비치는 영상에 맞춰 정규화된 볼륨을 생성하기 때문에, 시점에 맞게 물체들을 이동시키면 된다. 즉, (0, 0, 5) 위치에 카메라가 위치하고 있다면, 이것은 원점에 위치한 카메라가 -z 방향으로 5만큼 이동된 물체를 관찰하는 것과 동일하다(이런 이유로 모델 변환과 뷰 변환을 동일하게 간주하는 것이다)

즉, 카메라를 원점으로 이동하는 변환(T), 카메라의 시점 좌표계를 월드 좌표계와 일치시키는 변환(R)을 물체에 적용하면 결과적으로 시점 좌표에 맞게 물체들이 변환되고, 원했던 것은 이것이다. "

 

빨간색으로 표시한 내용은 말 그대로, 카메라와 월드 공간에 대한 상대적인 현상을 표현한거고요. 그리고

그다음에 이어지는 파란 부분에서 "카메라의 시점 좌표계를 월드 좌표계와 일치시키는..." 이라는 표현이 조금 오해를 불러일으킨듯 합니다.

사실 같은 내용을 다르게 표현한거라고 보시면 됩니다. 파란색으로 강조한 내용을 풀어 쓰면..

(0, 0, 1) 에 위치한 카메라는, 월드 공간의 원점에 정렬되어 있는 카메라가 보고있는 모든 오브젝트들이 (0, 0, -1) 만큼 이동 한것과 같다고 볼 수 있는거죠.

( 또 달리 표현하면, 카메라를 월드 공간의 원점으로 이동 및 회전시킨 행렬의 역(=Inverse)을 모든 오브젝트들에 곱한다고 생각해보자! 라고도 할 수 있겠네요..)

p.s. 렌더링 파이프라인 관련으로 참고할만한 링크 걸어봅니다.

https://m.blog.naver.com/PostView.nhn?blogId=destiny9720&logNo=221410779286&categoryNo=22&proxyReferer=&proxyReferer=https:%2F%2Fwww.google.com%2F

 

늦게 봤네요 감사합니다!!

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

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

414 질문
545 answers
562 댓글
25,011 users