본문 바로가기

IT 기술

OpenGL 용어 및 함수 이것저것..(1)

반응형
. 모델 좌표계 
물체별로 모델링하기 편하게 설정된 좌표계.

. 전역 좌표계 
개별 물체를 모았을 때 이를 한꺼번에 아우를 수 있는 좌표계.

. 시점 좌표계 
물체를 바라보는 시점을 기준으로 표현한 것.

. 절단 좌표계 
시점으로부터 보이지 않는 물체를 잘라내기 편하게 설정한 것.

. 화면 좌표계 
장치 좌표계 또는 윈도우 좌표계라고도 부르는 것으로 화소 단위로 좌표를 표시합니다. 예를 들어 해상도 1024 * 768인 화면이라면 x값은 0부터 1023까지 y값은 0부터 767까지 분포하게 됩니다. 일반적인 윈도우 운영체제에서는 모니터 좌상단이 원점이 됩니다.

. 정규화 
어떤 값을 1을 기준으로 상대적으로 표시하는 행위. 따라서 정규화를 거치면 모든 정점 좌표는 1보다 작은 값으로 바뀝니다.

. Viewport 
윈도우 내부에 설정한 작은 창을 말합니다.

. glutInit() 
이 함수는 GLUT 라이브러리를 초기화 하고 윈도우 운영체제와 연결하여 하나의 세션을 형성합니다.

. glutInitDisplayMode(GLUT_RGB) 
이 함수는 윈도우의 기본 컬러모드를 RGB모드로 설정하기 위한 것입니다.

. glutInitWindowSize(300,300) 
이 함수의 첫 파라미터는 윈도우 폭을 300화소로, 둘째 파라미터는 높이를 300화소로 하라는 것입니다.

. glutInitWindowPosition(0,0) 
이 함수는 윈도우의 좌상단을 좌표 (0,0)에 위치시키라는 것입니다.

. glClearColor(0.0,0.0,0.0,1.0) 
초기화 색을 설정하는 함수입니다. 앞의 3 파라미터는 각각 R,G,B를 뜻하고 마지막 파라미터는 Alpha 즉 불투명도를 뜻합니다. 최대값인 1.0으로 설정되었으므로 뒷배경은 보이지 않겠군요.

. Rubber Banding
예를 들어서 처음 마우스를 누른 곳을 사각형의 좌상단으로 하고 마우스를 놓은 곳을 우하단으로 하는 사각형을 그린다고 가정합시다. 이 경우 마우스를 움직이는 매 순간마다 사각형을 보여주려면 마우스가 움직일 때마다 이전 사각형을 지우고 새로운 사각형을 그려야 합니다. 따라서 MyDisplay내에 glClear함수를 써서 호출될 때마다 기존의 컬러 버퍼 내용을 모두 지우는 형식으로 구현이 가능하게 됩니다.

. glutMainLoop()
항상 main함수의 마지막에 등장하는 함수로 이제 이벤트 별로 콜백함수를 등록 했으니 이벤트 루프로 진입하라는 의미의 함수입니다.

. Idle Callback Function
주로 다른 모든 이벤트가 없는 시간을 활용하여 필요한 계산을 하는데 사용됩니다.

. glutPostRedisplay()
Idle Callback 함수에 선언해 놓게 되면 Idle time에 바뀐 변수들을 계산하여 바뀐 화면을 Display 콜백이 실행될 때 뿌려주게 됩니다.

. glViewPort(x,y,width, height)
뷰포트 함수에서 가장 주의해야 할 사항은 바로 다른 좌표계가 적용된다는 것입니다. glut가 사용하는 좌표계의 원점은 화면의 좌상단인 반면 gl이 사용하는 좌표계의 원점은 좌하단입니다. 이 점만 주의한다면 크게 신경쓸 부분은 없을 것입니다. x,y값을 0으로 놓고 width와 height 값을 메인에서 설정한 윈도우창의 크기와 맞춘다면 이 전체를 하나의 뷰포트로 취급하기 때문에 유용하게 이용하실 수 있습니다.

. void glLoadName( GLuint name )
인자로 받는 이름은 name stack에 push되게 됩니다. openGL에서 picking 기능을 구현할 시 자주 사용되는 함수이므로 기억해두면 도움이 될것입니다.

. glFrontFace(GL_CCW)
표면을 반 시계방향(Counter Clock Wise) 순서로 나열하겠다는 함수입니다.

.glRotatef(30.0, 1.0, 1.0, 1.0)
벡터(1.0, 1.0, 1.0)을 회전축으로 해서 육면체를 반시계 방향으로 30도 만큼 회전시키라는 명령입니다.
반응형

'IT 기술' 카테고리의 다른 글

문자 표현 방법  (0) 2012.01.25
OpenGL 용어 및 함수 이것저것..(2)  (0) 2012.01.25
OpenGL(기초)  (0) 2012.01.25
하프 토우닝과 디더링  (0) 2012.01.25
컬러모드  (0) 2012.01.25