2011-04-27 2 views
1

이것은 웹이나 서적에서 쉽게 대답 할 수있는 질문 인 것처럼 보이지만 답을 찾는 것이 지금까지 막 다른 골목으로가는 길 밖에 몰랐습니다 .투시 투영을 이용한 서페이스 제거를위한 깊이 보간

저는 숨겨진 표면 제거 (선이 솔리드 객체의 가장자리)로 실시간으로 3D 선을 그려하려고합니다.

그래서 투시 투영을 사용하여 2D 점으로 투영 된 두 개의 3D 점이 있습니다. 각 포인트에 대해 포인트의 깊이를 계산했습니다. 이제 2 점을 연결하는 선분을 그려 보겠습니다. 숨겨진면 제거 기능을 사용하려면 2 차원 선 (투영 결과의 각 중간 2D 점)에 대해 해당 3D 점의 깊이를 계산해야합니다. 중간 차원의 2D 점에 투영되는 3D 점).

내 문제는 투시 투영을 할 때 깊이 함수가 선형이 아니기 때문에 중간 점의 깊이를 계산하기 위해 원래의 2 점의 깊이를 보간 할 수 없다는 것입니다.

그렇다면 실시간 렌더링의 제약 조건과 호환되는 방법으로 줄의 각 지점의 깊이를 어떻게 계산합니까?

미리 도움을 청하십시오. 스크린 공간 직선 보간 될 수

+0

가능 중복 (http://stackoverflow.com/questions/5805992/finding-projection-and -z-distance) – Alnitak

+0

대답은 쉽게 사용할 수 있습니다 - 그냥 5 시간 전에 여기에 물어 보았습니다 ... – Alnitak

답변

1

동차 좌표를 사용하여, [. 돌기와 Z 거리 찾기] http://www.cs.unc.edu/~olano/papers/2dh-tri/

+0

아직 알지 못하는 깊이의 정의 : 좌표의 제곱의 합계의 제곱근입니다. 중심 또는 투영이 원점에있는 경우 이 정의를 감안할 때,이 깊이 함수 (또는 역수 1/깊이)가 선형이어서 보간법이 될 수는 없다는 것을 알 수 없습니다. –

+0

원점으로부터의 거리입니다. 컴퓨터 그래픽 용어의 깊이는 Z입니다. 1/Z는 선형으로 보간 할 수 있습니다. –

+0

좋아,하지만 숨겨진 표면 제거 (투시 투영을 사용하는 경우)는 투영 중심으로부터 필요한 거리가 아닌가? 투영 중심으로부터의 거리는 광선 추적의 컨텍스트에서 숨겨진 표면 제거를 수행 할 때 사용하는 것으로, 잘 작동합니다. 1/Z는 대부분의 경우에 충분한 근사값입니까? –