A DirectX 11-based 3D rendering pipeline built during the Game Graphics Programming course at Kyung Hee University.
경희대학교 소프트웨어융합학과 게임 그래픽 프로그래밍 수업에서 구현한 DirectX 11 기반 3D 렌더링 파이프라인입니다.
This project covers the full spectrum of real-time 3D graphics, from basic window creation to advanced rendering techniques including skeletal animation, normal mapping, and shadow mapping.
윈도우 생성부터 스켈레탈 애니메이션, 노멀 맵핑, 그림자 맵핑까지 실시간 3D 그래픽스의 전반을 다룹니다.
| Category | Technology |
|---|---|
| Graphics API | DirectX 11 |
| Language | C++20, HLSL |
| Library | Assimp (Open Asset Import Library) |
| IDE | Visual Studio 2019 |
| Lab | Topic | Description |
|---|---|---|
| 01 | Window Creation | Create a window using Windows API |
| 02 | OOP Refactoring | Restructure codebase with object-oriented design |
| 03 | Triangle Rendering | Build basic primitive rendering pipeline |
| Lab | Topic | Description |
|---|---|---|
| 04 | Transform Matrices | Apply World, View, Projection matrices |
| 05 | Texture Mapping | UV coordinate-based texture sampling |
| 06 | Phong Shading | Implement Ambient, Diffuse, Specular lighting model |
| Lab | Topic | Description |
|---|---|---|
| 07 | Model Import | Load 3D models via Assimp library |
| 08 | Skeletal Animation | Bone hierarchy and skinning animation |
| 09 | Normal Mapping | Tangent space-based normal map application |
| 10 | Shadow Mapping | Depth buffer-based real-time shadows |
Real-time camera controller with user input processing.
매 프레임 사용자 입력을 처리하는 인터랙티브 카메라 시스템
Optimized voxel map rendering using Instance Buffers to minimize Draw Calls.
Instance Buffer를 활용한 복셀 맵 렌더링 및 Draw Call 최적화
| Feature | Description |
|---|---|
| Light Attenuation | Distance-based light falloff (Constant, Linear, Quadratic) |
| Skybox | Cube map-based environment background |
| Reflection Mapping | Real-time environment reflection using cube maps |
거리 기반 광원 감쇠, 큐브맵 스카이박스, 환경 반사 매핑 구현
⚠️ Windows only
-
Clone the repository
git clone https://github.com/[username]/DirectX11_Renderer.git
-
Checkout to desired Lab or Assignment
git checkout [LAB0X] # or [ASS0X] -
Open the solution in Visual Studio 2019
-
Set
Gameproject as Startup Project and run
DirectX11_Renderer/
├── Game/
│ ├── Shaders/ # HLSL shader files
│ ├── Assets/ # 3D models, textures
│ └── Source/ # C++ source code
├── Library/ # External libraries (Assimp, etc.)
└── images/ # Screenshots for README
- Complete understanding of DirectX 11 rendering pipeline
- Vertex/Pixel shader programming with HLSL
- Practical experience with real-time graphics optimization techniques
DirectX 11 렌더링 파이프라인의 전체 흐름, HLSL 셰이더 프로그래밍, 실시간 그래픽스 최적화 기법 학습










