Skip to content

IBLRenderer is a 3D renderer based on IBL(Image based lighting) written in C++ and OpenGL.

License

Notifications You must be signed in to change notification settings

shiyin1014/IBLRenderer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IBLRenderer

IBLRenderer is a 3D renderer based on IBL(Image based lighting) written in C++ and OpenGL.

Features

  • 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

ScreenShots

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)

Dependencies

  • 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++

License

This project is licensed under MIT License.

References

About

IBLRenderer is a 3D renderer based on IBL(Image based lighting) written in C++ and OpenGL.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages