IBLRenderer is a 3D renderer based on IBL(Image based lighting) written in C++ and OpenGL.
- IBL(Image Based Lighting)
- Anti-aliasing(MSAA)
- BVH(Bounding Volume Hierarchy)
- CastRay(Emit light from the camera and the visualization of the ray)
- Highlight the outline of the selected model
- Point-Lighting
- Shadows(ShadowMapping, PCF and PCSS, based on point light)
- Real-time visualization of the frame buffer content(Color, depth and stencil)
- Post-processing(Blur and sharpen)
- ScreenShot(Save the current frame's color buffer to out folder)
- Trackball camera(Using the mouse to change the position of the view, press the space bar on the keyboard to restore default settings)
- HDR and Gamma-correction
- PBR materials
Bvh hierarchy visualization
Control panel
Cast ray from camera and visualization
Shadows(shadow mapping, pcf and pcss)
Ibl viewer
Highlight the outline of selected model by mouse
Sharpen the image
Blur the image(Gaussian blur)
- GLFW-Library for creating a window with an OpenGL context
- GLAD-Multi-Language GL/GLES/EGL/GLX/WGL Loader-Generator based on the official specs
- GLM-C++ mathematics library for graphics software based on the GLSL specifications
- ASSIMP-Library for loading 3D models from file
- STB-IMAGE-Library for loading images from files
- ImGui-A bloat-free graphical user interface library for C++
This project is licensed under MIT License.