Skip to main content
Shadow Graphics Library

Shadow Graphics Library

·200 words·1 min

Overview
#

Shadow is a real-time rendering library that implements several core techniques used in modern videogame engines. It is written entirely in C++ using OpenGL, and was developed as my Final Degree Project.

GitHub Repository

About the Project
#

The goal of Shadow was to study and implement real-time rendering techniques from the ground up, focusing on engine-level graphics systems rather than using pre-built frameworks or shading pipelines.
The engine follows a Deferred Rendering pipeline and includes multiple post-processing and shading features.


Library Features
#

I designed and implemented:

  • Deferred Rendering pipeline
    • G-Buffer layout and multi-pass architecture
  • Physically-Based Rendering (PBR)
    • Metalness/Roughness workflow
  • Screen Space Ambient Occlusion (SSAO)
  • Bloom post-processing pipeline
  • Normal Mapping
    • Tangent-space basis (TBN) generation
  • Resource management system
  • ImGui debugging / visualization tools
  • Scene rendering loop and material system
Engine Rendering Overview

Rendering Pipeline
#

Shadow uses a Deferred Shading workflow to support multiple dynamic lights efficiently.
Material data is stored in a G-Buffer, then lighting is computed in a separate pass.

Visual Output
#


Version Log
#

v0.1
#

  • Engine foundation (Windowing, Input System, Resource Loading)
  • Skybox renderer
  • G-Buffer initialization
  • Base Deferred Shading implementation

v1.0 (Final Degree Project Completion)
#

  • Physically-Based Rendering (PBR)
  • SSAO Pass
  • Bloom Post-Processing
  • Normal Mapping Pipeline