2014-11-26 4 views
0

JOGL API를 사용하여 프로젝트 작업을하고 있습니다. 하나의 viewPort를 "전체 화면"으로 확장하려면 어떻게해야합니까?

는 지금은 다음에 지점에 붙어 :

프로그램을 실행 나두 그리고 4 개 뷰포트에서 분할 된 캔버스를 보여줍니다. 프로젝트의 목적은 기본적으로 4 가지 다른 관점에서 객체를 "계획"하는 데 필요한 각각의 viewPorts에 있습니다. 그러나 먼저 [1,2,3,4]를 클릭하여 일치하는 ViewPort를 "확장"/ "전체 화면"으로 할 때 필요합니다.

제 아이디어는 숫자를 클릭하면 다음과 같이 새 viewPort를 만듭니다. gl.glViewport (0, 0, CANVAS_WIDTH, CANVAS_HEIGHT). 그러나 이것은 캔버스의 크기와 함께 새로운 viewPort 만 생성합니다.

4 개의 viewPort 중 하나의 "내용"을 어떻게 새 viewPort에 "입력"할 수 있습니까?

답변

2

나는 glViewport이하는 일을 혼란스럽게 생각합니다. 나는 당신이 생각하는 것이 무엇인지 모르겠다.하지만 그렇게하기 위해 명시된 것은, OpenGL 윈도우의 부분을 설정하고, 포스트 프로젝션 (NDC) 공간을 맵핑하는 것이다. 또는 평신도 용어로, 창에서 어디에서 그려지는지 결정할 때 사용합니다. 전체 화면을 렌더링하려는 경우 : 창을 전체 화면으로 만들고 뷰포트를 창 크기로 설정합니다.

기존 도면을 "확장"하려면 올바른 뷰포트를 설정하고 문제의 부품을 다시 그려야합니다.

+0

기본적으로 나는 4 개의 viewPorts로 나눈 캔버스를 가지고 있는데, [1,2,3,4]를 클릭하면 4 개의 viewPorts 중 하나를 선택하고 그 viewPort를 창 크기로 설정합니다. 어떻게 그걸 만들 수 있니? 미리 감사드립니다! – Tito

+0

내가 뭐라했는지 이해 했니? – Tito

+2

@Afonso : 예, 이해했습니다. 당신이해야 할 일은'glViewport'를 창 크기로 설정하고 확장하고자하는 "보기"의 ​​장면을 다시 그리기 만하면됩니다. OpenGL은 단지 그림을 그리는 것입니다. 이벤트를 처리하지 않으며 장면을 관리하지 않습니다. – datenwolf

관련 문제