A showcase of rendering techniques using OpenGL, intially created to showcase the Exalted rendering engine, and then extended as an exercise for the CSC8503 graphics module at Newcastle University.
This repo uses Exalted, a custom engine I developed as a learning exercise with the purposes of learning engine design and architecture.
Youtube Video: https://www.youtube.com/watch?v=IS9GLXPMrL8&feature=youtu.be
Name | Description |
---|---|
Scene Graph | Used to arrange spatial data in the scenes, for example, to allow for blended transparency ordering |
Blinn-Phong Lighting (Energy Conserving) | (Directional - Spot - Point) lighting |
Environment Mapping | Skybox environment |
Dynamicly Changing Environment | Objects in the scenes change over time |
Real-Time Soft Shadows | Spot (perspective), Point (cubemapped perspective) and directional (orthographic) multi-sampled shadows |
Multi-Viewport Shadowmap Debug Displays | Displays normalized shadowmaps as mini-display views |
Post Processing | Cel Shading - Color Inversion - Grayscale - Sharpening - Blurring - Edge Detection |
Anisotropic Filtering | 16x anisotropic texture filtering |
Object Instancing | Instance drawing rendering capabilities, can be used for particle systems etc... |
A screenshot extracted from this youtube video of the showcase:
Omnidirectional real-time Shadows:
Dynamic directional real-time shadows:
10 million quads rendered at 150fps:
100k environmently mapped teapots rendered at 100fps:
Blinn Phong lighting with energy conservation:
Blinn Phong lighting with normals and energy conservation:
Scene graph object transformation as done in Unity:
16 x Anisotropic filtered textures:
Please use Github Issues to report bugs.