인프런 커뮤니티 질문&답변

eachan님의 프로필 이미지

작성한 질문수

게임 개발자를 위한 3D 그래픽스, 쉐이더, OpenGL (5) - 3D 카메라 뷰잉, 프로젝션, MVP 변환

56-Z closing

뷰포트 간의 z-index

해결된 질문

24.06.11 10:53 작성

·

112

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 문제이니까, 그쪽 분야를 참고하셔야 할 겁니다.

감사합니다.

eachan님의 프로필 이미지

작성한 질문수

질문하기