This project is a showcase of some advanced opengl rendering techniques.
- PBR Workflow (Physically Based Rendering)
- Deferred & Forward Lighting
- SSAO (Screen Space Ambient Occlusion)
- FXAA (Fast Approximate Anti Aliasing)
- Bloom
- Tone Mapping
- HDR Rendering
- Parallax Occlusion Mapping
- Shadow Mapping
- .glTF Model Loader
Prerequisites: git with git large file storage (git-lfs).
Clone the repo using the following command:
git clone https://github.com/oddStoneGames/PBR-Example.git
cd PBR-Example
- Windows
- Linux
- Hardware with support for OpenGL 4.2 Core
- CMake v3.10+
- C++14 Compiler
- On Linux, these libraries are required to build GLFW
Step 1.
Make a directory for the build files.
mkdir build
Step 2.
Generate the project files.
cmake -S . -B ./build
Step 3.
Build the project.
cmake --build build --config Release --target PBR-Example
Step 4.
Run the executable PBR-Example which is located in the build or build/Release folder.
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.
This project has some third-party dependencies, each of which may have independent licensing:
- glad: Multi-Language GL/GLES/EGL/GLX/WGL Loader-Generator based on the official specs.
- glfw: A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input
- glm: OpenGL Mathematics
- dear imgui: Immediate Mode Graphical User Interface
- stb: Single-file public domain (or MIT licensed) libraries
- json: JSON for Modern C++
HDR Maps:
Models: