본문 바로가기

OpenGL 3

[OpenGL] Transformation Matrix Fundamental Idea of Transformation Numpy의 matrix multiplication을 이용하든 OpenGL transformation function을 이용하는 것이든, 결국 transformation의 기본적인 접근은 행렬의 곱을 이용하는 것이다. Current Transformation Matrix OpenGL은 "state machine"이다. 즉, 하나의 상태가 지정되면 그 상태는 새로운 상태가 지정될 때까지 그대로 있는다. 상태는 current color, current transformation matrix 등이 포함된다. OpenGL은 항상 current transformation matrix을 이용하여 object를 그린다. Current transformat.. 2021. 3. 23.
[OpenGL] Vertex의 기본 Vertex 기본적인 기하적 구조를 나타내기 위해(무언가를 그리기 위해) vertex를 사용한다. glVertex*() 안에는 vertex의 좌표가 들어간다. 주의사항 vertetx의 사용은 glBegin(primitive_type)과 glEnd()사이에 위치해야 한다. 정상적으로 앞면을 보기 위해서는 반시계 방향으로 vertex를 그려야 한다. 만약 시계방향으로 그리게 된다면 그건 뒷면을 보는 것이다. → 보이는 건 같더라도 엄연히 다른 것이다. 사용 예시 glBegin(GL_TRIANGLES) glVertex2f(0.0, 1.0) glVertex2f(-1.0, -1.0) glVertex2f(1.0, -1.0) glEnd() 함수 사용 방법 glVertex*, glColor* 등 이 함수의 뒤의 * 부.. 2021. 3. 12.
[OpenGL] OpenGL이란? OpenGL이란? Open GL OpenGL이란 Open Grahpics Library로, Graphics 프로그래밍을 위한 API이다. (이름과 다르게 Library가 아닌 API이다.) OS는 OpenGL 인터페이스를 제공하고, GPU는 OpenGL implementation인 그래픽 카드 드라이버를 제공한다. 예를 들어, windows에서는 opengl32.dll을 제공하고, GPU는 Nvidia driver 등을 제공한다. 참고 : Library vs API Library Collection of functions, pre-compiled routines or reusable components of code => 코드 그 자체를 모아 놓은 것 코드의 반복을 줄이고 재사용을 할 수 있게 한다. 프.. 2021. 3. 10.