Skip to content

DevByn/GameGraphics-Engine-DirectX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DirectX 11 Graphics Renderer

DirectX 11 C++20 HLSL VS2019

A DirectX 11-based 3D rendering pipeline built during the Game Graphics Programming course at Kyung Hee University.

경희대학교 소프트웨어융합학과 게임 그래픽 프로그래밍 수업에서 구현한 DirectX 11 기반 3D 렌더링 파이프라인입니다.


🎯 Overview

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 그래픽스의 전반을 다룹니다.


🛠 Tech Stack

Category Technology
Graphics API DirectX 11
Language C++20, HLSL
Library Assimp (Open Asset Import Library)
IDE Visual Studio 2019

📚 Labs

Foundation

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

Triangle Rendering

3D 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

3D Object Texture Mapping Phong Shading

Advanced Techniques

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

Model Import Skeletal Animation

Normal Mapping Shadow Mapping


🏆 Assignments

Assignment 01: Interactive Camera System

Real-time camera controller with user input processing.

매 프레임 사용자 입력을 처리하는 인터랙티브 카메라 시스템

Camera System

Assignment 02: Voxel Map with Instancing

Optimized voxel map rendering using Instance Buffers to minimize Draw Calls.

Instance Buffer를 활용한 복셀 맵 렌더링 및 Draw Call 최적화

Voxel Map

Assignment 03: Advanced Rendering Techniques

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

거리 기반 광원 감쇠, 큐브맵 스카이박스, 환경 반사 매핑 구현

Light Attenuation


🚀 Getting Started

⚠️ Windows only

  1. Clone the repository

    git clone https://github.com/[username]/DirectX11_Renderer.git
  2. Checkout to desired Lab or Assignment

    git checkout [LAB0X]  # or [ASS0X]
  3. Open the solution in Visual Studio 2019

  4. Set Game project as Startup Project and run


📁 Project Structure

DirectX11_Renderer/
├── Game/
│   ├── Shaders/          # HLSL shader files
│   ├── Assets/           # 3D models, textures
│   └── Source/           # C++ source code
├── Library/              # External libraries (Assimp, etc.)
└── images/               # Screenshots for README

📖 Key Learnings

  • Complete understanding of DirectX 11 rendering pipeline
  • Vertex/Pixel shader programming with HLSL
  • Practical experience with real-time graphics optimization techniques

DirectX 11 렌더링 파이프라인의 전체 흐름, HLSL 셰이더 프로그래밍, 실시간 그래픽스 최적화 기법 학습


About

DirectX Custom Rendering Engine with WinAPI | C++ DX11

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors