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.
- 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.
-
Particle-based Fluid Simulation using compute shaders: 3D simulation, 2D simulation with user interaction
- 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)
OpenGL 4.3 or higher
GLFW for window and context management
GLM for OpenGL Mathematics
RTTR for runtime type reflection
Glad for managing OpenGL function pointers