본문 바로가기

게임 엔진4

[개발] 공부하며 정리한 "Delta Time" 개인 공부 후 자료를 남겨놓기 위한 목적이므로, 생략되거나 오류가 있을 수 있음을 알립니다. 잘못된 부분이 있다면 댓글로 상냥하게 가르쳐주시면 감사하겠습니다! "Delta Time"이란 프레임 간의 시간 간격을 의미한다. (1프레임당 시간) 이를 구현하지 않는다면, 다양한 환경에서 프로그램은 일정한 속도로 실행될 수 없다. TimeMgr를 이용하여 Delta Time을 구현해보고, 이를 이용하여 오브젝트가 어느 환경에서든 일정한 속도로 움직일 수 있도록 구현해보자. 보며 공부한 곳! // 어소트락 아카데미 Win32 API 무료강의 https://youtu.be/dlFr-OnHlWU?si=K8UpK8CwSOddqFZ5 델타 타임 구현, 즉 시간 동기화를 위한 매니저인 TimeMgr 클래스를 만들어보자. .. 2023. 10. 24.
[개발] 공부하며 정리한 "Double Buffering" 개인 공부 후 자료를 남겨놓기 위한 목적이므로, 생략되거나 오류가 있을 수 있음을 알립니다. 잘못된 부분이 있다면 댓글로 상냥하게 가르쳐주시면 감사하겠습니다! 이전 문서에서 화면이 깜빡였던 이유와 그 해결법인 더블 버퍼링에 대해서 알아보도록 하자. 보며 공부한 곳! // 어소트락 아카데미 Win32 API 무료강의 https://youtu.be/dlFr-OnHlWU?si=K8UpK8CwSOddqFZ5 이전 문서에서 사각형이 움직이기는 했지만, 형체를 알아보지 못할 정도로 잘 보이지 않았다. 이 문제가 발생하는 이유는 현재 화면을 표시하고 있는 방법인 "싱글 버퍼링"이 화면을 그리는 작업과 화면을 표시하는 작업이 서로 분리되어 있어 화면에 그림을 그리기도 전에 렌더링을 해버리기 때문이라고 보면 된다. 따라.. 2023. 10. 22.
[개발] 공부하며 정리한 "KeyManager" 개인 공부 후 자료를 남겨놓기 위한 목적이므로, 생략되거나 오류가 있을 수 있음을 알립니다. 잘못된 부분이 있다면 댓글로 상냥하게 가르쳐주시면 감사하겠습니다! Singleton 패턴을 이용하여 KeyManager를 만들어 키입력을 받아보자 보며 공부한 곳! // 어소트락 아카데미 Win32 API 무료강의 https://youtu.be/dlFr-OnHlWU?si=K8UpK8CwSOddqFZ5 파일 구조를 다음과 같이 변경하고, 이제는 여러 매니저들을 만들어볼 차례이다. 해당 매니저들의 역할은 Core를 도와 여러 잡일을 한다고 생각하면 된다. 예를 들면 키입력, 화면 전환, 카메라 이동, 데이터 관리등을 담당하게 된다. 이러한 모든 매니저들 또한 프로그램이 실행되어 종료될 때까지 1개 이상 만들어지거나 .. 2023. 10. 20.
[개발] 공부하며 정리한 "Singleton 패턴"과 Core 객체 개인 공부 후 자료를 남겨놓기 위한 목적이므로, 생략되거나 오류가 있을 수 있음을 알립니다. 잘못된 부분이 있다면 댓글로 상냥하게 가르쳐주시면 감사하겠습니다! Win32 api를 통해 게임엔진을 구현해 보면서 Singleton 패턴이 무엇이고, 이 패턴을 이용해 무엇을 구현하는지 알아보도록 하자. 보며 공부한 곳! // 어소트락 아카데미 Win32 API 무료강의 https://youtu.be/dlFr-OnHlWU?si=K8UpK8CwSOddqFZ5 win32를 조금 공부해보신 분이라면 다음의 코드가 어떤 것을 의미하는지 알 수 있을 것이다. 해당 부분은 wWinMain 함수의 일부분으로 while문에서 GetMessage를 통해 메시지를 계속해서 기다리고 있다가, 우리가 프로그램에게 어떠한 메세지를 주.. 2023. 10. 20.