This serves as my final project for Computer Graphics course at ESIEE during 2017 Fall.
I may continue improving it for fun. Some features may not work well on AMD card.
- CMake
- Windows + vcpkg
- Linux
- C++ 11~17
- Wavefront.obj
- Modern OpenGL 4.5+ AZDO
- Bindless Texture
- Indirect rendering
- Direct State Access
- Shader Storage Buffer
- Batch Rendering
- Deferred Rendering
- Quaternion Rotation
- Cascaded Shadow Maps
- Point light
- Bloom
- Volumetric Effects
- Directional shadow mapping
- Omnidirectional shadow mapping
- Physically Based Rendering
- HDR environment
- Image-based lighting
- PBR metallic roughness
- Fresnel Schlick
- Cook-Torrance BRDF
- Microfacet GGX+Smith
- Multiple-Scattering Microfacet BSDFs with the Smith Model
- Separable Subsurface Scattering
- Phong lighting
- PBR lighting
- Gaussian blur
- Transmittance
- Shadow
- Post-process
- ACES tone mapping
- Basic eye adoption
- Gamma correction
- UE4.25 Auto Exposure
- Light source should be brighter.
- Adjust bloom range based on depth.
- Redone the pipeline, reduce VRAM cost.
- GLEW - OpenGL loading library
- SDL2 - Window & Context
- ImGui - User interface
- GLM - Math operations
- STB - Image loading
- Magic Enum C++
opengl-tutorial.org
Learn OpenGL by Joey de Vries
A Guide to Modern OpenGL Functions
FREE PBR
HDRI Haven
CCOTextures
Material ball in 3D-Coat
McGuire Computer Graphics Archive