https://github.com/kbladin/elkengine
Simple graphics engine used as submodule in many of my projects
https://github.com/kbladin/elkengine
assimp cplusplus cplusplus-11 cplusplus-14 freeimage glfw glfw3 glsl graphics graphics-engine graphics-library graphics-rendering opengl opengl-shading-language physically-based-rendering rendering rendering-3d-graphics rendering-engine
Last synced: 6 months ago
JSON representation
Simple graphics engine used as submodule in many of my projects
- Host: GitHub
- URL: https://github.com/kbladin/elkengine
- Owner: kbladin
- License: mit
- Created: 2015-05-09T08:21:52.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2019-02-25T06:10:12.000Z (over 6 years ago)
- Last Synced: 2025-04-10T01:08:03.530Z (6 months ago)
- Topics: assimp, cplusplus, cplusplus-11, cplusplus-14, freeimage, glfw, glfw3, glsl, graphics, graphics-engine, graphics-library, graphics-rendering, opengl, opengl-shading-language, physically-based-rendering, rendering, rendering-3d-graphics, rendering-engine
- Language: C++
- Homepage:
- Size: 7.91 MB
- Stars: 62
- Watchers: 6
- Forks: 11
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
#Elk Engine
Graphics engine to control low level OpenGL interfacing used many of my OpenGL projects.
##Features
Support for both deferred rendering and forward rendering and costum renderables.
For deferred rendering I am using the "metalness" PBR workflow. Fresnel effect using Schlicks approximation for dielectrics, approximating metals by setting R0 to the albedo of the material. Some other shader effects are HDR-blooming and depth of field based on physical camera parameters.Mesh loading using the assimp library.
Texture loading using freeimage.
Window management using GLFW.##Build
The library and program are built using cmake.Run CMake in the ElkEngine directory and build in ElkEngine/build.
### Dependencies
GLEW is required. Currently GLFW is the only supported window manager. To be able to load meshes, assimp needs to be linked and to be able to load textures, freeimage is required.##Screenshots
Some screenshots of the PBR renderer.


PBR Materials from: http://freepbr.com
Cube maps from: http://www.humus.name/index.php?page=Textures
and: http://www.custommapmakers.org/skyboxes.php