Skip to content

A basic graphics engine written with C++ using OpenGL API

Notifications You must be signed in to change notification settings

berkbavas/CanavarGraphicsEngine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Canavar Graphics Engine

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.

Features

  • 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

Videos

City.mp4
FlightSimulator.mp4
CanavarGraphicsEngine.mp4
CanavarGraphicsEngine2.mp4
VertexPainting.mp4
CrossSectionAnalyzer.mp4
PhysicallyBasedRendering.mp4

Build

  1. Install CMake 3.25.1.
  2. Install Visual Studio 2022 and MSVC C++ Compiler.
  3. Install Qt 6.7.3 MSVC2022 64bit kit.
  4. Clone the repo git clone https://github.com/berkbavas/CanavarGraphicsEngine.git.
  5. Create a folder mkdir Build.
  6. Enter the folder cd Build.
  7. Run CMake cmake ...
  8. Open Canavar.sln with Visual Studio 2022.
  9. Build & Run with Release config.

Acknowledgements

I thank Federico Vaccaro for his amazing shaders and Joey de Vries for his OpenGL tutorials.