게임 엔진 Component 기반 구조 완벽 이해
최근 게임 엔진 구조가 지금과 같은 방향으로 발전한 이유와 왜 Component, ECS, Data Oriented Design 같은 기법들이 등장하게 되었는지를 정리했습니다.
시리즈 열기Game Engine Framework Notes
C++와 실제 엔진 사례를 바탕으로 메모리, 자료구조, Unreal/Unity 내부 구조를 설명하는 기술 블로그입니다.
최근에 직접 정리한 허브 글을 기준으로, 먼저 읽으면 좋은 시리즈를 모아 둡니다.
최근 게임 엔진 구조가 지금과 같은 방향으로 발전한 이유와 왜 Component, ECS, Data Oriented Design 같은 기법들이 등장하게 되었는지를 정리했습니다.
시리즈 열기게임 엔진 Transform 구조를 정리한 시리즈 글입니다. Position, Rotation, Scale부터 Local 좌표와 World 좌표, Parent/Child 구조, 행렬까지 게임 엔진의 공간 계산 구조를 함께 설명합니다.
시리즈 열기게임 렌더링 구조와 Rendering Pipeline의 전체 흐름을 입문자 기준으로 정리한 시리즈입니다. GPU가 Vertex 데이터를 어떻게 화면 픽셀로 변환하는지, Vertex Shader와 Rasterizer, Pixel Shader, Output Merger 단계는 왜 필요한지, 그리고 CPU와 GPU는 어떤 방식으로 협력하면서 화면 이미지를 만들어내는지를 전체 흐름 기준으로 설명합니다.
시리즈 열기함수 포인터, callback, std::function, delegate, multicast delegate까지 엔진 관점으로 이어서 읽을 수 있게 정리한 시리즈 허브 글입니다.
시리즈 열기fixed timestep, variable timestep, hybrid loop, deltaTime, FPS 제어를 엔진 관점에서 이어서 정리한 게임 루프 시리즈 허브 글입니다.
시리즈 열기allocator 설계, memory pool, placement new까지 C++ 게임 엔진 메모리 흐름으로 이어서 읽을 수 있게 정리한 시리즈 허브 글입니다.
시리즈 열기C++ RTTI의 기초부터 custom RTTI, Unreal 스타일 reflection 흐름까지 한 번에 따라갈 수 있게 정리한 시리즈 허브 글입니다.
시리즈 열기stack, heap, cache miss, AoS, SoA, ECS까지 게임 메모리 구조 관점에서 이어서 읽을 수 있게 모아 둔 시리즈 허브 글입니다.
시리즈 열기최근에 올린 글을 시간순으로 확인할 수 있습니다.
🚀 들어가며 이전 글에서는 weak_ptr이 왜 필요한지와 함께, shared_ptr의 순환 참조 문제를 어떻게 해결하는지 정리해보았습니다. shared_ptr은 매우 편리한 스마트 포인터입니다. 객체의 생명주기를 자동으로 관리해주고, 객체의 소멸 시점을 정확하게…
🚀 들어가며 이전 글에서는 shared_ptr의 내부 구조를 살펴보았습니다. shared_ptr은 객체의 생명주기를 관리하기 위해 Control Block을 사용하고, Control Block 안에는 strong count와 weak count 같은 정보가 저장됩니다. shared_ptr은 매우…
🚀 들어가며 이번 글에서는 shared_ptr의 내부 구조 즉, 동작 매커니즘을 살펴보고자 합니다. 이전 글에서는 C++ 스마트 포인터의 기본 개념과 함께 unique_ptr, shared_ptr, weak_ptr의 사용 기준을 살펴봤습니다. 특히 shared_ptr을…
🚀 들어가며 C++ 스마트 포인터에 대해 살펴봅니다. C++에서 메모리 관리는 항상 중요한 주제입니다. C++는 사용자(개발자)에게 메모리 관리 책임을 맡기는 대표적인 프로그래밍 언어입니다. 원시 포인터를 직접 다룰 때는 아래와…
🚀 들어가며 deltaTime은 게임 개발에서 반드시 이해해야 하는 핵심 개념입니다. 게임을 만들다가 이런 경험을 해보셨을 겁니다. 컴퓨터가 빠르면 게임이 빨라지고 컴퓨터가 느리면 게임이 느려진다 같은 코드인데 실행 환경에…
dynamic_cast를 왜 써야 하는지, RTTI 개념부터 typeid 활용까지 한 번에 정리했습니다. 👉 잘못된 캐스팅으로 인한 버그, RTTI로 안전하게 해결할 수 있습니다. C++로 게임이나 엔진을 개발하다 보면 이런…
유니티 GC 완전 정리 (시리즈 모음) 👉 유니티 GC 개념 정리 👉 유니티 GC 동작 원리 👉 유니티 GC 발생 코드 패턴 👉 유니티 GC 줄이는 방법 들어가…
유니티 GC 확인 방법을 제대로 이해하면 프레임 드랍의 원인을 정확히 파악할 수 있습니다. 유니티 가비지 컬렉션은 눈에 보이지 않기 때문에 Profiler를 통해 직접 확인하는 과정이 반드시 필요합니다. 많은…