C++ 게임 엔진 강의 업데이트: Component와 Scene Graph – 7월 31일까지 할인 행사
제가 인프런에서 진행하고 있는 ‘C++로 만드는 게임 엔진 프레임워크’ 강의에 새로운 심화 파트를 추가했습니다. 이번 업데이트에서는 기존 강의에서 완성한 게임 엔진과 게임 프로젝트를 그대로 이어서 사용하면서, Actor 중심 구조를 Component 기반 구조와 Transform Scene…
Series Archive
게임 엔진 프레임워크의 구조와 설계 방법, 렌더링, 메모리 관리 등 내부 동작 원리를 중심으로 다루는 카테고리입니다.
제가 인프런에서 진행하고 있는 ‘C++로 만드는 게임 엔진 프레임워크’ 강의에 새로운 심화 파트를 추가했습니다. 이번 업데이트에서는 기존 강의에서 완성한 게임 엔진과 게임 프로젝트를 그대로 이어서 사용하면서, Actor 중심 구조를 Component 기반 구조와 Transform Scene…
이전 글에서는 월드 행렬(World Matrix)이 왜 중요한지를 살펴보았습니다. 월드 행렬은 이동 행렬과 회전 행렬, 스케일 행렬을 하나로 결합한 결과이며, 모델 공간(Model Space)의 정점을 월드 공간(World Space)으로 변환하는 역할을 한다는 점도 함께 알아보았습니다. 하지만 아직…
시리즈 바로가기 1. 렌더링 파이프라인 완벽 이해 – 게임 엔진은 화면을 어떻게 만들어낼까? 2. Input Assembly 단계는 왜 필요할까? 3. Vertex Shader 단계는 왜 필요할까? 4. Rasterizer 단계는 왜 필요할까? 5. Pixel Shader 단계는…
이전 글에서는 Output Merger 단계가 왜 필요한지를 정리했습니다. Output Merger 단계에서는 Depth Test와 Blending, 그리고 Frame Buffer 갱신 같은 작업들이 수행되며, 최종적으로 GPU가 실제 화면 이미지를 완성하게 된다는 점도 함께 살펴봤습니다. 지금까지 렌더링 파이프라인…
이전 글에서는 Pixel Shader 단계가 왜 필요한지를 정리했습니다. Pixel Shader 단계에서는 Fragment마다 최종 색상을 계산하게 되며, Texture Sampling, 조명 계산, Material 표현 같은 다양한 그래픽 처리들이 이 단계에서 수행된다는 점도 함께 살펴봤습니다. 그리고 이…
이전 글에서는 Rasterizer 단계가 왜 필요한지를 정리했습니다. Vertex Shader 단계에서 공간 변환이 끝난 삼각형은 아직 실제 화면 이미지 형태가 아닙니다. GPU는 여전히 삼각형이 화면 위의 어떤 픽셀을 차지하는지를 계산해야 합니다. 그리고 바로 이 작업을…
이전 글에서는 Vertex Shader 단계가 왜 필요한지를 정리했습니다. Vertex Shader 단계에서 GPU는 단순히 Vertex를 처리하는 것이 아니라, 3D 공간 정보를 화면 계산이 가능한 형태로 변환한다는 점도 함께 살펴봤습니다. 특히 아래와 같은 핵심 공간 변환이…
이전 글에서는 렌더링 파이프라인의 첫 단계인 Input Assembly 단계가 왜 필요한지를 정리했습니다. GPU는 처음부터 “캐릭터”나 “건물” 같은 개념을 이해하는 것이 아니라, Vertex 데이터를 읽고 Primitive 형태로 조립한다는 점도 함께 살펴봤습니다. 이번 글에서는 렌더링 파이프라인의…
이전 글에서는 렌더링 파이프라인(Rendering Pipeline)이 왜 등장했는지, 그리고 GPU가 화면 이미지를 만들기 위해 어떤 흐름으로 발전해왔는지를 정리했습니다. 이번 글에서는 렌더링 파이프라인의 첫 번째 단계인 Input Assembly 단계에 대해 정리해보려고 합니다. 처음 IA(Input Assembly)라는 이름을…
게임 엔진 Transform 구조 완벽 이해 – Local 좌표, Scene Graph, Matrix 흐름까지 게임 엔진을 공부하다 보면 정말 자주 만나게 되는 개념들이 있습니다. Transform, Local 좌표, World 좌표, Parent / Child 구조, Matrix…