컴퓨터 애니메이션 실습 과제 1

김민교·2023년 4월 9일
0

과제목표

PolygonOffset : 같은 z-order를 갖는 polygon 중 어느 한쪽이 다른 쪽 위에 나타나야 할 필요가 있을 때, 한 쪽을 다른 쪽보다 '조금 앞으로 오도록'할 수 있다. 이를 polygon offset이라고 하는데, OpenGL에서는
void glPolygonOffset(GLfloat factor, GLfloat units);로 polygon offset을 사용할 수 있다.

glEnable(GL_POLYGON_OFFSET_FILL)
1. 깊이 충돌 문제 해결
GL_POLYGON_OFFSET_FILL은 3D 객체를 렌더링할 때 깊이 충돌 문제를 해결하는 데 사용된다. 이는 렌더링되는 객체가 이미 그려진 객체와 동일한 위치에 그려질 때 발생한다.
이 경우에, 깊이 버퍼 테스트는 모두 동일한 값을 반환하기 때문에 렌더링이 잘못된 결과를 초래할 수도 있다. 이러한 충돌을 해결하기 위해서 GL_POLYGON_OFFSET_FILL을 사용하여 그려지는 다각형 면의 깊이 값을 약간 높이고, 그려지는 면이 기존 객체 위에 오버레이 되도록 할 수 있다.

profile
안녕

0개의 댓글