게임 엔진 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까지 게임 메모리 구조 관점에서 이어서 읽을 수 있게 모아 둔 시리즈 허브 글입니다.
시리즈 열기최근에 올린 글을 시간순으로 확인할 수 있습니다.
이전 글에서는 이동 변환 행렬(Translation Matrix)이 왜 중요한지를 정리해보았습니다. 객체 위치를 변경하는 과정이 단순 좌표 덧셈에서 끝나는 것이 아니라, 행렬(Matrix)을 통해 다른 공간 변환들과 함께 계산된다는 점도 함께…
이전 글에서는 행렬(Matrix)이 왜 중요한지를 정리해보았습니다. 특히 게임 엔진 안에서 객체 이동과 회전, 카메라 처리, 렌더링 파이프라인, 스켈레탈 애니메이션 같은 다양한 시스템들이 모두 행렬 기반으로 동작한다는 점을 함께…
이전 글에서는 외적(Cross Product)이 왜 중요한지를 정리해보았습니다. 특히 외적을 이용해 법선 벡터(Normal Vector)를 계산하는 방법과, 카메라 좌표계를 구성하는 방식, 그리고 회전 방향 계산에 어떻게 활용되는지를 함께 살펴보았습니다. 이번에는…
이전 글에서는 내적(Dot Product)이 게임 안에서 왜 중요한지를 정리해보았습니다. 특히 두 벡터가 얼마나 같은 방향을 바라보고 있는지를 계산하기 위해 내적이 사용된다는 점과, AI 시야 판정과 조명 계산 같은…
이전 글에서는 벡터의 길이(Length)와 정규화(Normalize)가 왜 중요한지를 정리해보았습니다. 특히 방향은 유지하면서 벡터 길이를 항상 1로 유지해야 하는 이유와, 게임 안에서 이동 속도를 일정하게 유지하기 위해 정규화가 어떻게 사용되는지도…
이전 글에서는 벡터(Vector)가 게임 안에서 위치와 방향을 표현하기 위해 어떻게 사용되는지를 정리해보았습니다. 하지만 실제 게임 개발에서는 단순히 방향만 계산해서는 충분하지 않은 경우가 많습니다. 예를 들어 플레이어가 이동 방향을…
이전 글에서는 삼각함수가 게임 안에서 방향과 회전을 계산하기 위해 어떻게 사용되는지를 정리해보았습니다. 그리고 방향을 계산하기 시작하면 자연스럽게 등장하는 개념이 바로 벡터(Vector)입니다. 게임 안에서는 객체의 위치와 방향, 속도 같은…
게임 개발을 공부하는 과정에서 걸림돌이 되는 것 중 하나가 바로 게임 수학입니다. 그렇게 게임 수학을 공부하다 보면, 고등학교 시절 우리를 어렵게 했던 삼각함수를 만납니다. 그리고 많은 개발자와 개발…