목록2018/07/15 (15)
게임공장
Hello Triangle 시작하기/Hello Triangle OpenGL에서 모든 것은 3D 공간 안에 있습니다. 하지만 화면과 윈도우 창은 2차원 픽셀 배열입니다. 그렇기에 OpenGL 작업의 큰 부분을 차지하는 것은 모든 3D 좌표를 화면에 맞게 2D 픽셀로 변환하는 작업입니다. 3D 좌표를 2D 좌표로 변환하는 작업은 OpenGL의 그래픽 파이프라인(graphics pipeline) 에 의해 관리됩니다. 그래픽 파이프라인은 크게 두 개의 부분으로 나뉠 수 있습니다: 하나는 3D 좌표를 2D 좌표로 변환하는 것이고 다른 하나는 2D 좌표를 실제 색이 들어간 픽셀로 변환하는 것입니다. 이 강좌에서는 그래픽 파이프라인과 멋진 픽셀을 만들기 위해 그래픽 파이프라인을 어떻게 사용해야 하는지에 대해 간단히 ..
Hello Window 시작하기/Hello Window 우리가 GLFW를 가동시킬 수 있는지 봅시다. 먼저 .cpp 파일을 만들고 새로 만든 파일의 맨 위에 다음 include를 추가합니다. #include #include GLFW 전에 먼저 GLAD를 포함시켜야 합니다. GLAD 용 헤더파일에는 (GL/gl.h)와 같은 OpenGL 헤더파일이 포함되어 있으므로 OpenGL을 필요로 하는 다른 헤더파일보다 먼저 GLAD를 포함시켜야 합니다. 다음으로 GLFW 창을 인스턴스화 할 main 함수를 만듭니다. int main() { glfwInit(); glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR..
Window 생성 시작하기/Window 생성 멋진 그래픽을 만들기 위해 우리가 해야 할 첫 번째 일은 OpenGL context와 안에 그림을 그릴 Window를 만드는 것입니다. 하지만 이러한 작업은 운영체제별로 다르며 OpenGL은 이러한 작업들을 추상화하려고 합니다. 이는 우리가 직접 윈도우를 만들고, 컨텍스트를 정의, 사용자 입력을 모두 처리해야 한다는 것을 의미합니다. 다행히 이미 우리가 원하는 기능을 제공하는 라이브러리가 많이 있습니다. 특히 OpenGL을 목표로 한 라이브러리도 있습니다. 이러한 라이브러리는 우리에게 모든 운영체제 관련 작업에 관한 정보를 제공하고 렌더링할 Window와 OpenGL context를 제공하여 줍니다. 가장 많이 쓰이는 라이브러리는 GLUT, SDL, SFML,..
소개 소개 당신이 여기에 왔을 때 당신은 아마 컴퓨터 그래픽의 내부 동작을 배우고 차가운 아이들이 하는 모든 것을 스스로 하고 싶을 것입니다. 스스로 하는 일은 매우 재미있고 유익하며 그래픽 프로그래밍에 대해 잘 이해할 수 있습니다. 하지만 시작하기 전에 고려해야 할 몇가지 항목이 있습니다. 전제 조건 OpenGL은 그래픽 API이며 자체 플랫폼이 아니기 때문에 언어가 쓰여야 하며 선택한 언어는 C++입니다. 그러므로 이 강좌에서는 C++ 프로그래밍 언어에 대한 지식이 필요합니다. 하지만 필요한 경우 C++ 고급 내용을 포함하여 사용된 대부분의 개념을 설명하므로 C++ 전문가가 아니어도 되지만 'Hello World' 프로그램 정도는 작성할 수 있어야 합니다. C++ 에 대한 많은 경험이 없다면 www...
OpenGL에 대해 공부를 하기위해 튜토리얼들을 찾아보던 중 설명이 잘 되어있는 튜토리얼을 찾았습니다. 이 튜토리얼의 주소는 http://learnopengl.com이고 저자는 Joey de Vries입니다. 저는 이 튜토리얼을 개인적으로 공부를 하기 위해 번역을 하려고합니다. 하지만 제 영어 실력이 원어민 수준이 아닐뿐더러 본 튜토리얼에서는 그래픽 프로그래밍이나 선형대수학에서 쓰이는 전문 용어들이 많이 등장하기 때문에 오역이나 맞춤법이 틀린 부분을 많이 볼 수 있을 것입니다. 이러한 번역때문에 제가 번역한 튜토리얼을 본다고 할지라도 마치 영어를 읽는 것처럼 이해가 가지 않을 수도 있을 것입니다. 한글을 읽어도 이해가 가지 않을 때 바로 밑에 나오는 코드나 그림을 보시면 무슨 말인지 이해가 가실것이라 생..