Sparrow OpenGL Renderer
Simulation
A Tiny OpenGL Renderer Playground in C++.
Build and Run
mkdir build
cd build
cmake ..
cmake --build .
Roadmap
This project is currently in a chaos, most of the code made me shamed. The only reason I make it currently now is that I need to refer it in my own coursework.
FeatureList
- Basis
- Forward Rendering Pipeline
- Skybox
- Model Loading(GLTF / FBX / OBJ)
- Multiple Scenes
- IMGUI UI Controls
- Input and Window System
- Camera System
- Automatic Multiple Texture
- Rendering
- OpenGL RHI( still in processing strictlyโฆ)
- Simple Triangle (Scene01_Triangle.hpp)
- Forward Albedo PBR (Scene_LoadModel.hpp)
- Forward Bloom (Scene_LoadModel.hpp)
- Forward SSAO (๐ in repairing)
- Forward IBL (๐ in repairing)
- Animation
- BVH Viewer(Scene_BVHView.cpp)
- Simulation
- Cloth Simulation(Scene_ClothSimulationSS1.hpp & Scene_ClothSimulationSS2.hpp)
TODO
WORKS
- Rendering Features
- Deferred Shading
- Animation Features
- Inverse Kinematics (BVH/FBX/GLTF)
- Simulation Features
- Rigidbody
- SPH Fluids
- Application
- C++20 Coroutine Introduction
Acknowledge
- Most of the examples followed by LearnOpenGL
- The original code framework followed by The Cherno
- Youtube OpenGL is a good project to learn how to implement OpenGL features in OOP mode
- Piccolo Engine is a good project with engine structure. Files like WindowSystem, LogSystem are copy from this project.