-
벡터
어파인 공간에서는 점과 벡터 기혹 혼용.
정규화 벡터 : 원래 벡터와 방향은 동일하지만 크기는 1로 변형.
벡터의 곱셈은 내적과 외적으로 나뉜다.
법선 벡터는 평면에 수직이다.
평면의 법선 벡터는 (A, B, C)라면 Ax+By+Cz+D=0 이다.
면 방향 : 어떤 면이 공간상에서 어디를 향해 서 있는지 나타냄.
후면 제거
시점 반대쪽이라서 눈에 보이지 않는 면이 후면이다. 후면을 판단하고 제거하는 과정을 '후면 제거(Backface Culling)'라고 한다.
시점 벡터 : 물체면으로부터 시점을 향한 벡터
void glEnable(GL_CULL_FACE); void glCullFace(GLenum_mode); void glDisable(GL_CULL_FACE);
glEnable()은 후면 제거모드를 "활성화".
glCullFace() 함수는 실제 후면 제거. 파라미터에 GL_BACK를 적으면 후면 제거, GL_FRONT라면 전면 제거, GL_FRONT_AND_BACK이면 전면/후면 둘다 제거.
glDisable() 함수는 면 제거모드를 "비활성화".
표면과 이면
다각형은 표면(바깥쪽 면)과 이면(안쪽 면)으로 이루어져 있다.
반시계 방향이면 표면이고, 시계 방향이면 이면이다.
void glFrontFace(GLenum mode);
시점이 3D 도형 안에 있을 때 그 도형의 이면을 표면으로 간주하는 함수.
void glPolygonMode(작업이 가해질 대상, 그리기 모드 설정);
작업이 가해질 대상은 GL_FRONT, GL_BACK, GL_FRONT_AND_BACK이라는 상수 값.
그리기 모드는 GL_FILL는 표면이 채움 다각형으로, GL_LINE는 이면이 다각형의 윤곽선만으로.
'오픈 지엘' 카테고리의 다른 글
래스터 변환 (0) 2019.05.07 openGL을 설치해보자 (0) 2019.05.01