The Engine
This is an OpenGL and C++ rendering engine I made in my final HND year at ESAT Valencia for the graphics programming subject. Its main features are the following:
- Multithreaded agnostical graphics API
- Component oriented engine
- Physically Based Rendering techniques:
- Material pipeline (PBS, Metallic/Roughness workflow)
- Image Based Lighting (Radiance and Irradiance environment mapping)
- Atmospheric Scattering (Rayleigh and Mie Scattering)
- GLTF model loading
- Postprocessing Pipeline:
- Screen Space Ambient Occlusion (SSAO)
- Bloom
- Light Scattering (God Rays)
- Shadow Mapping
- Fast Approximate Anti-Aliasing (FXAA)
- Lens Distortion (with Grain, Vignette, Color Aberration)
- Tonemapping and multiple one-pass filters
- Procedural generation of infinite voxel worlds
- UI integration (ImGui)
- Sound integration (OpenAL)
- Physics integration (Bullet Physics)
Related blog posts
Custom Engine: Physically Based Rendering
The physically based approach used for my custom rendering engine.
Víctor Ávila
Custom Engine: Postprocessing
My custom engine’s postprocessing.
Víctor Ávila
Gallery