Skip to content

OppositeNor/last-opengl-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MLGL Renderer

This is originally a final project for my Computer Graphics course. Later I decided to keep working on it and added some new features.

This will also my last renderer implemented in OpenGL. Later I'll learn Vulkan and use that as the primary Graphics API.

This renderer supports the following features:

  • Shadowmap

  • Skeletal&Morph Animation

  • Skybox

  • PBR

  • Real-time global illumination based on RSM.

Since I didn't decide publishing this before, I didn't keep track on all the third party resources I used. If you find the dependencies or resources of this project is infringing your or others' copyright, please post an issue or contact me through my email: oppositenormal@outlook.com

How to Build

Clone the repository with all the sobmodules

git clone --recursive https://github.com/OppositeNor/last-opengl-project.git
cd last-opengl-project

Install build utilities and dependencies:

  • Arch Linux
sudo pacman -S gcc ninja cmake
yay -S icu

Build the project using the local dependencies

# Debug
cmake -B build -G Ninja -DUSE_LOCAL_DEPS=ON
cmake --build build

# Release
cmake -B release -G Ninja -DUSE_LOCAL_DEPS=ON -DCMAKE_BUILD_TYPE=Release
cmake --build release

Some rendering results are shown bellow:

Run with command line argument morph:

skeletal_animation

Run with command line argument pbr:

pbr

Run with no command line argument provided:

sponza

About

This is a project that I made for the final project of my Computer Graphics course. This will probably also be my last project implemented in OpenGL. Later I'll learn Vulkan and use that as my main rendering API (unless I'm implementing an RHI)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors