0

선을 설명하는 두 점이 있습니다. 문제는 제가 정사각형 행렬 (즉, 150x250x0)에 대한 좌표를 알고 투시 행렬 (0.5x0.5x20.0f)에 대해 두 번째 좌표입니다. 직교 좌표를 원근감으로 변환하여 glsl 쉐이더를 사용하여 선을 그릴 수 있습니다. :). 이 작업을 수행하는 방법은 무엇입니까?관점으로 ortographic 번역

답변

0

정점 중 하나를 다른 행렬 공간으로 이동해야합니다. 예를 들어 150x250x0을 정사영 공간에서 원근 공간으로 이동해 봅시다. 이렇게하려면 역 정사각형 행렬을 사용하여 정점을 변형해야합니다. 나는 당신이 사용하는 수학 라이브러리가 무엇인지 모르겠다. 아마도 이미 매트릭스 역전을위한 함수를 가지고 있을지도 모른다. 그렇지 않으면이 링크의 코드 인 http://www.gamedev.net/topic/180189-matrix-inverse/을 사용하십시오. 이 단계 후에 정점은 월드 공간에 있습니다.

추 신 : 행렬 반전은 계산에 상당한 시간이 걸립니다. trasformation steps (translation, rotation, scale)을 추적 할 수 있다면,이 단계들을 반대로 뒤집은 후 그 행렬을 구성하는 것이 더 쉬운 방법입니다.

+0

다른 솔루션을 이미 알아 냈습니다. 150x250을 0-1 공간으로 옮겼습니다. 너비와 높이를 매트릭스로 사용하여 정규화했습니다. 너무 간단했다 ... :) – ZZZ