32-6 OpenGL Z 버퍼 - Depth 설정 관련 질문
안녕하세요.
glEnable(GL_DEPTH_TEST); <-- 이 구문이 drawFunc() 안에 꼭 들어가야 하는 이유가 있나요?
이렇게 하면 드로잉 할 때 마다 실행이 되는데요.
main 함수나 initFunc 함수 안에 넣어서 한 번만 실행해도 괜찮은가요?
답변 부탁 드립니다.
답변 1
0
안녕하세요.
일종의 습관으로 볼 수 있습니다. ^^;;;
예제 프로그램들에서와 같이, 간단한 출력을 하는 경우에는, glEnable 종류를 main loop 이전에 한번 설정하는 방법이 더 나을 수 있습니다.
반면에, 꽤 복잡한 scene 을 출력할 때는, depth 처리가 필요한 것들을 출력했다가, 중간에 depth 처리가 불필요한 것을 출력했다가, 다시 depth 처리가 필요한 것을 출력했다가 하는 경우도 종종 생깁니다.
이런 부분들을 처리하다 보면, 중요한 glEnable 들은 draw 하기 바로 전에 다시 set 하는 방식을 취하기도 합니다.
다행히, glEnable 함수로 무엇을 설정하는 것이, 대부분의 경우는 크게 오버헤드가 없어서, 필요하면 중복해도 써도 별 문제가 없다 보니까, glEnable 함수를 draw 루틴에 넣어두기도 합니다.
굳이 따지면, 비효율적인것은 맞는데, 다른 책이나, 싸이트의 예제들을 보아도, draw 루틴에서, 일종의 습관처럼 써 놓는 경우가 종종 있습니다.
감사합니다.
깃허브에서 받은 코드가 왜 강의코드랑 다를까요
0
73
1
강의에서 말씀해주신대로 폴더에 넣었는데 실행이 되지않습니다
0
87
2
비주얼 스튜디오 파일
0
192
2
RGB 값 관련 질문드립니다.
0
127
2
vert_phong.vert negate 질문
0
124
2
glm-tri.cpp 의 glVertexAttribPointer 질문입니다.
0
160
2
vulkan 강의 일정
0
151
2
외적 공식 문의
0
197
1
hello shader 프로그램 실행이 안됩니다.
0
265
1
뷰포트 간의 z-index
0
202
1
scissor box에서의 테두리 라인 그리기
0
235
1
Mac vscode 으로 시작하시려는 분들께
0
313
1
#include "./common.c"오류
0
310
1
22-6 varying color 프로그램 관련 질문
0
228
1
마우스 좌우 버튼을 동시에 눌렀을 때의 원의 위치
0
426
1
쉐이더에 연산 코드 선언
0
342
1
33-3 피라미드 만들기 - face 생성 시 질문
0
257
1
21-8 layout 키워드 : 레지스터 개수 파악
0
186
1
정답은 어디서볼수있나요?
1
346
2
질문드려요
0
265
1
Ubuntu 에서 라이브러리 설치 시 문제가 발생합니다.
0
450
1
예제코드
1
490
2
part8 오픈 일정 - 재질문
0
289
1
part 8 오픈 일정
0
408
1





