Skip to content

This project serves as a hub for my pet projects, where I experiment with graphics and game engine concepts using openGL

Notifications You must be signed in to change notification settings

YoungSlav/OpenGL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My Custom OpenGL Game Engine

This project is an experimental game engine inspired by Unreal Engine, created to explore and learn OpenGL while experimenting with various game engine concepts and techniques. While not production-ready and lacking some core features, it serves as a platform for continuous learning and experimentation.

Features

  • Lighting: Supports directional, point, and spot lights.
  • Shadows: Cascade shadows for directional lights, creating realistic lighting effects.
  • Post-Processing: Easy integration for custom post-process effects.
  • UI System: Basic UI elements using the ImGui library.
  • Model Loading: Integrated Assimp for loading various 3D model formats.
  • Reflection System: RTTR is included to enable reflection, planned for use in editor tools and serialization.
  • Advanced Delegates: Implements advanced Unreal-like C++ delegates for flexible event handling.

Projects I've developed using my engine

Future Plans (with no specific order)

  • Path Tracing rendering (Work in progress)
  • Scene Editor and serialization (Work in progress)
  • Improve fluid rendering using ray-marching technique
  • OIT
  • Physics integration
  • occulusion culling
  • frustum culling
  • bloom
  • anti-aliasing
  • animations
  • landscape rendeing (Work in progress)

Dependencies and 3rd parties used

OpenGL 4.3 or higher

GLFW for window and context management

GLM for OpenGL Mathematics

ImGui for UI components

Assimp for 3D model loading

RTTR for runtime type reflection

Glad for managing OpenGL function pointers

STB for image loading

Radix sort implemeted for Vulkan

Advanced Unreal-like delegates for c++

About

This project serves as a hub for my pet projects, where I experiment with graphics and game engine concepts using openGL

Topics

Resources

Stars

Watchers

Forks