A basic graphics engine written in C++
using OpenGL API
and Qt 6
.
I use Qt 6
for window and event management.
All 3D math operations are handled by Qt 6
's math module.
- Supports loading several 3D model formats, thanks to
assimp
library - Parent - child node hierarchy
- Procedural terrain
- Sky with atmospheric scattering
- Haze
- Point lights
- Directional lights
- Spot lights
- Free camera
- Persecutor camera
- Transformation of individual meshes of models
- Lightning Strike Generator
- Nozzle Effect
- Shadow Mapping
- Point Shadows
- Particle generator
- Volumetric clouds
- Water
- Vertex Painting
- Editor
- Physically Based Rendering
- WGS84 ellipsoid support
- Terrain generation using DTED and satellite images
- Post processing effects
City.mp4
FlightSimulator.mp4
CanavarGraphicsEngine.mp4
CanavarGraphicsEngine2.mp4
VertexPainting.mp4
CrossSectionAnalyzer.mp4
PhysicallyBasedRendering.mp4
- Install
CMake 3.25.1
. - Install
Visual Studio 2022 and MSVC C++ Compiler
. - Install
Qt 6.7.3 MSVC2022 64bit
kit. - Clone the repo
git clone https://github.com/berkbavas/CanavarGraphicsEngine.git
. - Create a folder
mkdir Build
. - Enter the folder
cd Build
. - Run CMake
cmake ..
. - Open
Canavar.sln
withVisual Studio 2022
. - Build & Run with
Release
config.
I thank Federico Vaccaro for his amazing shaders and Joey de Vries for his OpenGL tutorials.