본문 바로가기

전체 글75

1. 기본 코드 작성하기 // 버퍼 가로, 버퍼 세로 선언 int bufferWidth, bufferHeight; // mainWindow로부터 버퍼 가로 크기와 버퍼 세로 크기를 받아온다. glfwGetFramebufferSize(mainWindow, &bufferWidth, &bufferHeight); // OpenGL Context 설정 glfwMakeContextCurrent(mainWindow); return (0); 기본 시작 코드 자, 이번엔 실제로 GLFW 코드를 작성해보자. 기본 시작 코드는 아래와 같다. ▼ 기본 시작 코드 #include #include #include #include int main() { _wsetlocale(LC_ALL, "Korean"); return (0); } 가장 먼저 해야 하는 .. 2021. 1. 11.
6. 한글 출력 단순히 CPP를 공부할 때 영어로 출력하는 것도 충분하지만 한글로 출력하는 것도 재밌다. 프로그래밍 용어는 한국어로 번역하면 어색한 부분이 많고 정식 표현도 정립되지 않은 경우가 많다. 기본적으로 C와 CPP는 미국에서 만들어진 언어라서 ASCII 코드만을 지원한다. 시간이 흘러서 조금 확장된 확장 ASCII 코드를 지원하긴 했지만 한글이 들어가진 않았다. 한글은 초성, 중성, 종성 세가지를 조합하여 하나의 글자를 만드는데, 이 조합이 총 11,172가지나 된다. 이 모든 글자를 다 포함하는 건 지금도 컴퓨터에게는 부담스러울 것이다. 다행히 시간이 흘러서 유니코드를 지정할 때 한글이 추가되었다. 아래의 코드를 살펴보자. ▼ 을 이용하여 유니코드 한글 출력 #include #include int main(.. 2021. 1. 11.
0. OpenGL 개발환경 설정하기 뭘 공부하던 언제나 개발환경을 설정하는 것이 제일 힘들다. GLEW 내려받기 GLEW는 The OpenGL Extenstion Wrangler Library의 약자로 OpenGL의 새로운 기능을 제공하는 헤더 파일이다. GLEW 공식 홈페이지에서 내려받을 수 있다. 사이트가 영어로 되어있지만 상단의 Downloads에서 최근 버전을 내려받을 수 있다. ▼ Downloads의 최신 버전을 내려받으면 된다. GLFW 내려받기 GLFW는 Graphics Library Framework의 약자로 윈도에서 OpenGL을 쉽게 구현할 수 있도록 도와준다. 원래라면 WinAPI를 이용하여 윈도 생성부터 해야하지만 GLFW는 이걸 간편하게 처리해주기 때문에 개발자 OpenGL 자체에만 집중하여 작업할 수 있다. 마찬가.. 2021. 1. 9.
5. 정수 게임에서는 를 사용하자. CPP에서 사용하는 정수형을 정리한 글은 인터넷에 아주아주 많다. 굳이 다시 한번 정리할 필요는 전혀 없어 보이는 관계로 게임 개발할 때 유용한 stdint를 살펴보자. stdint는 Standard Integer의 약자로 한국어로 번역하면 표준 정수라고 읽힌다. 말 그대로 정수형을 표준으로 정립해두어야만 했다는 얘기가 된다. 문제는 C와 CPP 표준에서 이 정수형들의 최소 크기만 지정했다는 것이었다. ▼ CPP 정수형의 최소 크기 그렇다 보니 하드웨어에 따라 정수형과의 관계가 달라졌고 이는 게임에서 치명적인 오류를 가져왔다. 게임을 개발하는 컴퓨터와 플레이어의 컴퓨터의 int 사이즈가 다르면 오버플로우가 발생하기도 했다. 이러한 오류는 프로그램에 치명적이었기 때문에 국제표준위원.. 2021. 1. 8.
4. 출력문 CPP는 printf와 cout 둘 다 사용할 수 있다. CPP에서 출력문은 C의 printf와 CPP의 cout 둘 다 가능하지만 CPP 표준에서는 cout 사용을 권장하고 있다. ▼ CPP의 두 가지 방식의 출력문 #include #include int main() { printf("This is C style code\n"); std::cout 2021. 1. 8.
3. 주석(Comment) CPP에는 세 가지의 주석 방법이 존재한다. 범위 주석(Block Comment) 이름에서도 알 수 있듯이 범위를 주석하는 방법이다. CPP에서는 /**/를 사용하여 주석처리할 범위를 지정할 수 있다. ▼ 실제 CPP 코드에서 범위 주석 예시 /* Block_Comment_Example.cpp 작 성 자 : 코드그리미 최종작성일 : 2021.01.08 */ int main() { /* CODE */ int /* a */ b; return 0; } 코드에서도 범위 주석은 두 가지 형태로 사용되었다. 코드의 헤더부분에 작성된 주석은 한 줄 이상의 범위를 묶는 범위 주석의 모습이 잘 드러난다. 문단을 작성할 수 있기 때문에 주로 코드에 대한 정보를 작성할 때 많이 사용한다. 반면 Main 함수 내에 있는 범위.. 2021. 1. 8.