PBR is a state-of-the-art rendering technique used in modern graphics applications and game engines. This repository contains a minimalistic implementation that showcases both diffuse lighting and image-based lighting techniques.
- Diffuse Lighting: Achieve a realistic representation of light interaction with surfaces.
- Specular Lighting & Split-sum Approximation: Advanced techniques to capture intricate light reflections.
- OpenGL Renderer: Leverage the power of GPU to render complex scenes in real-time.
- Modular Architecture: Separate components for easy extension and experimentation.
- OpenGL
- GLFW3
- ASSIMP
🚀 Note: Make sure to place the downloaded assets in the appropriate directories before running the project.
- Clone this repository:
git clone https://github.com/PixelSenseiAvi/LightingInPBR.git
- Navigate to the project directory:
cd PBR
- Create a build directory and navigate to it:
mkdir build && cd build
- Generate the project files:
cmake ..
- Build the project:
cmake --build . --config Release
Once compiled, you can run the executable PBR from the build directory.
For those keen on diving deep into the science and maths behind PBR, here are some invaluable resources:
[Physically-Based Rendering: From Theory to Implementation](https://www.pbrt.org/)
[Real-Time Rendering, Fourth Edition](https://www.realtimerendering.com)
Contributions are welcome! Feel free get in touch.
This project is licensed under the MIT License. See the LICENSE file for details.