C++ 게임 루프 구현: QueryPerformanceCounter로 고정 프레임 엔진 루프 만들기
🚀 들어가며 이전 글에서는 게임 루프의 기본 개념과deltaTime이 왜 필요한지 살펴봤습니다. 👉 게임은 반복되는 루프를 통해 계속 실행된다 이번 글에서는 한 단계 더 나아가👉 C++로 실제 동작하는 게임 루프를 구현해보겠습니다. 🎯 이번 글의 목표…
Series Archive
이 주제와 관련된 글을 시간순으로 정리한 목록입니다.
🚀 들어가며 이전 글에서는 게임 루프의 기본 개념과deltaTime이 왜 필요한지 살펴봤습니다. 👉 게임은 반복되는 루프를 통해 계속 실행된다 이번 글에서는 한 단계 더 나아가👉 C++로 실제 동작하는 게임 루프를 구현해보겠습니다. 🎯 이번 글의 목표…
🚀 들어가며 이번 글에서는 C++ 게임 루프의 기본 구조와 게임이 어떻게 계속 실행되는지를 설명합니다. 게임을 실행하면 캐릭터가 움직이고, 화면이 계속 갱신됩니다. 그렇다면 이런 질문이 자연스럽게 떠오릅니다. ❓ 게임은 어떻게 “계속” 실행되는 걸까? 이 질문에…
예제 코드 깃허브 링크 🚀 들어가며 👉 이 시리즈는 RTTI 개념에서 시작해 엔진 구조까지 단계적으로 확장됩니다. C++에서 타입을 다루는 방법은 단순한 문법 이상의 의미를 가집니다. dynamic_cast로 시작해서👉 직접 RTTI를 구현하고, 나아가 엔진 수준…
예제 코드 깃허브 링크 🚀 들어가며 이번 글에서는 C++ TSubclassOf 구현을 통해 타입 정보를 기반으로 객체를 생성하는 방법을 살펴봅니다. 이전 글에서 우리는 다음의 내용을 이해하고 구현했습니다. dynamic_cast의 원리 이해 다운캐스팅의 위험성 TypeId 기반 RTTI…
예제 코드 깃허브 링크 🚀 들어가며 이전 글에서는 TypeId 기반으로👉 dynamic_cast 없이 타입을 비교하는 방법을 구현했습니다. if (obj->Is(Player::TypeId())) 이 방식은 매우 빠르고 단순합니다.하지만 실제로 사용하다 보면 한 가지 한계에 부딪힙니다. ❗ 타입에 대한 “정보”가…
예제 코드 깃허브 링크 🚀 들어가며 이전 글에서 C++의 dynamic_cast와 RTTI 개념을 살펴봤습니다. 그리고 중요한 사실을 확인했습니다. ❗ dynamic_cast는 안전하지만, 런타임 비용이 발생한다 또한 다운캐스팅이 왜 위험한지도 메모리 관점에서 확인했습니다. 그렇다면 자연스럽게 이런 질문이…
[1.5편] C++ 다운캐스팅이 위험한 이유: 메모리 구조와 포인터 관점에서 이해하기 🚀 들어가며 이전 글에서 dynamic_cast와 RTTI에 대해 살펴봤습니다. 그런데 여기서 한 가지 중요한 질문이 남습니다. ❓ 왜 C++에서 다운캐스팅은 위험하다고 할까? 단순히 “안전하지 않다”는…
👨🏫 강사 소개 안녕하세요. 게임 엔진 실무 교육 강사 장세윤입니다. Unity Technologies Korea의 Developer Relations Engineer로 커리어를 시작해 다양한 기업과 협업하며 현장에서 요구되는 게임 엔진 기술을 전파해왔습니다. 이론에 그치지 않고, “현장과 연결된 기본기 중심…
C# 메모리 관리 – 배열 재사용 Array Reuse 배열 재사용 Array Reuse 오브젝트를 재사용하는 것과 함께 사용을 고려해볼 만한 것이 바로 버퍼를 생성해서 코드를 재사용하는 것입니다. 이 버퍼에 여러 코드에서 사용되거나, 같은 코드에서 여러…
C# 메모리 관리 – 스태틱 함수 Static Function 스태틱 함수 Static Function 스태틱 함수는 논-스태틱 클래스 에서도 구현 가능한데, 이 경우 그 클래스의 스태틱 멤버들만 스태틱 함수에서 접근이 가능합니다. 스태틱 함수는 인스턴스가 아닌…