맨 윗줄 Square 코드에 좌표는 아래 보이는 사다리꼴 모양의 검은색 사각형이에요.
지금 LANE_SIZE=4 이니까, 가장 앞 양 끝점 값은 [-2, 0, 0], [2, 0, 0]인 셈이에요
두번째 코드는 카메라 위치랑 ProjectionMatrix 행렬곱 하는 코드
그리고 vec3ToScreenPos가 제가 지금 하고싶은건데
값이 x, y, z가 [-1, 1] 사이 값이 나와야 하는데 지금 로그 떠보면
I/left 3: , right 3.375, -3.1959937, -1.8283334
이렇게 엉뚱한 값이 나와요
님 MVP 매트릭스 곱하고 나오는 결과 matrix는 4x4매트릭스잖아요 거기서 4행4열에있는값... index로 치면 [3][3]에 있는값이 1이 아니죠?
MVPMatrix 4행 4열 4.13 나와요
아래 글에 댓글달았는데 나머지 값들 그 값으로 나눠서 쓰세요
아 ㄴㄴ;;ㄴㄴㄴㄴㄴ;; 제가 이상한소리해ㅔㅅ음
MVP 매트릭스는 4x4일거고 글로벌포지션 MVP매트릭스에 곱하면 크기 4짜리 배열나오자나요 x,y,z좌표를 마지막에있는 w값으로 나누세요
원래 그렇게 하는건가요?
이값도 4.13 나오네요
글로벌포지션이아니라 MVP매트릭스에곱해야되는건 모델로컬좌표구나 암튼 자꾸헷갈리는데 ㅡㅡ;; 그냥 MVP매트릭스 곱해서 나오는 결과가 [x,y,z,w] 이렇게 되는데 여기서 x,y,z값을 w값으로 나눠서쓰세요
그럼 뭔가 맞는거 같은 좌표나오네요 일단 감사합니다
w값은 걍 버리는 값인줄 알았는데 쓰는 거였네요
네네 아마 [Mx,My,Mz,1]을 MVP에 행렬곱하니까 4.13나오는게 맞긴할텐데 아무튼 그거로 나눠서쓰시면 되구요. 자세한건 Homogeneous Coordinate System 참고하시면 됩니다... 저도 설명하기엔 지식이 짧아서 아무튼 우리가 아는 좌표계의 점으로 표현하려면 [x,y,z,w]를 [x/w,y/w,z/w,1]로 표현해줘야해요
진짜 감사합니다 한 5시간 버린거같아요 님없었으면 시간 하루더버릴뻔
요거 w값이 버리는 값이 절대 아니고... w가 1이면 position, 0이면 vector라고 보시면되구요... 수학적으론 올바른 개념이 아니라고도 하긴 하는데... 요거 개념알아두셔야 나중에 라이팅처리나 이런거할때 편하실거에요
암튼 해결되서 다행입니다