목록전체 글 (104)
눈팅하는 게임개발자 블로그
github.com/Palamore/OpenGL-Snake-Game Palamore/OpenGL-Snake-Game Snake Game with OpenGL Graphics Lib. Contribute to Palamore/OpenGL-Snake-Game development by creating an account on GitHub. github.com OpenGL 튜토리얼을 적당히 끝내고 만들어본 스네이크 게임. LearnOpenGL 사이트에서 배운 그대로 glfw, glad, stb_image 등의 라이브러리를 사용했다. 또한 Camera, Shader도 따로 모듈화하여 작성한 상태로 사용. 전역변수, 함수, Main함수 순으로 작성. 전역변수 const unsigned int SCREEN_WIDT..
C++로 코딩을 함에 있어서 RAII를 지킨다함은 크게 2가지를 지키는 것이다. 1. 객체를 생성한 시점에 해당 객체에 필요한 모든 리소스가 초기화 된 상태여야 한다. 2. 객체가 스코프를 벗어나는 시점에 해당 객체가 가진 모든 리소스를 반환해야 한다. class Foo { public: Foo(const std::string& name) : name(name) { namePtr = new std::string(); } ~Foo() = default; Foo(const Foo& rhs) : name(rhs.name) { } Foo& operator=(const Foo& rhs) { name = rhs.name; return *this; } private: std::string name; std::stri..
RVO는 컴파일러에 의해 최적화되는 반환값이다. 다음 코드를 한 줄씩 실행하면서 살펴보자. #include class Foo { public: Foo(const std::string& name) : name(name) { } ~Foo() = default; Foo(const Foo& rhs) : name(rhs.name) { } Foo& operator=(const Foo& rhs) { name = rhs.name; return *this; } private: std::string name; }; Foo NRVOFunc(const std::string& name) { Foo foo(name); return foo; } Foo RVOFunc(const std::string& name) { return Fo..