해결된 질문
24.06.11 10:53 작성
·
98
0
안녕하세요.
OpenGL 화면 내에서 다중창 기능을 구현을 하고 싶은데요.
뷰포트들 간에 서로 영역이 겹쳤을 때 먼저 그려지고 나중에 그려지는 z-index 처리할 수 있는 방법이 따로 있나요?
그리고 뷰포트 말고 OpenGL에서 다중창을 구현하는 특별한 방법이 있을까요?
답변 부탁 드립니다.
감사합니다.
답변 1
0
2024. 06. 11. 11:04
안녕하세요.
depth buffer 쪽도 color buffer 와 같이 정확하게 조정해야 할 겁니다.
2개의 창이 겹친다면, 2번 째 창을 그릴 때는 해당되는 depth buffer 부분도 완전히 clear 시키고 다시 그리는게 좋을 것이고,
필요하다면, 이전 depth buffer 내용을 그대로 사용하는 것도 가능합니다.
대부분 동영상 강의에서 이미 설명한 내용입니다만,
관련된 내용은 glEnable/Disable (GL_DEPTH_TEST) 와 glDepthMask( ) 함수를 참고하시면 좋을 겁니다.
그외, 2개 창이 서로 다른 depth range 를 사용해야 한다면, glDepthRange 함수도 참고하시면 좋을 겁니다.
OpenGL 은 window system 이 아니기 때문에, viewport, scissor 이외의 기능은 제공하지 않습니다.
2개 이상의 윈도우를 따로 따로 열어서, 각각에 OpenGL 출력을 하는 방법도 있습니다만, 그 쪽은 OpenGL 문제가 아니고, window programming 문제이니까, 그쪽 분야를 참고하셔야 할 겁니다.
감사합니다.