OpenGL project for prototyping. Contains abstractions for major OpenGL features with focus on code reusability, modern OpenGL usage and ease of use. Also contains some demos and examples.
- 4.5 and up should work
- ARB_bindless_texture
- I'm trying to use direct state access wherever possible
- ImGui
- stb_image & stb_image_write
- GLshader by Johannes Braun
- Assimp (tested with 3.3.1)
- glfw3 (tested with 3.2.1)
- glbinding (tested with 2.1.1)
- glm (tested with 0.9.8.4)
- Please use vcpkg for dependency management when using windows to use this project
- Install assimp:x64-windows, glfw3:x64-windows, glbinding:x64-windows and glm:x64-windows using vcpkg
- Set the correct path to your installation of vcpkg (vcpkg.cmake) in the CMakeSettings.json-file or use the included script (set_vcpkg_path.ps1) to select it
- Open the project folder in Visual Studio
- Currently not tested
- Install assimp, glfw3, glbinding and glm using your package manager
- Using CMake to generate makefiles might already work
- University Project for the Lecture 'Real-Time Rendering'
- Uses this approach
- work in progress
- phong lighting (spotlights, directional lights, specular & diffuse, fog)
- toon shading
- cubemap reflections
- postprocessing
- GUI-controllable parameters for basically everything in this demo
- shader live reloading
- work in progress
- raymarching distance fields: soft shadows, simple distance field ambient occlusion
- shader live reloading
- heavily inspired by http://www.iquilezles.org/, university lectures
- work in progress
- testing some shader-only drawing stuff, "the book of shaders"-style
- work in progress
- shadow mapping with PCF
- PBR using Cook-Torrance BRDF
- IBL using HDR cubemaps
- HDR texture -> cubemap -> specular & diffuse IBL
- PBR & IBL code adapted (with changes), skybox texture from Joey de Vries' learnopengl.com, licensed under CC BY-NC 4.0.
- IBL Textures are from the sIBL archive, licensed under CC BY-NC-SA 3.0 US.