RodEngine is a custom C++ game engine I'm building from scratch. It's based on The Cherno's game engine series, which serves as the foundation for learning and early development.I expand the engine with my own architecture, features, and tools.
RodEngine is in early development. Expect rapid changes, incomplete systems, and experimental features.
- Windows
- Visual Studio 2022
- Git
- Python 3.13+
- CMake 3.30+
- Platform: Windows
- Language: C++
- Build System: Premake5
- Rendering: OpenGL
- Windowing & Input: GLFW (with minor changes for no windows titlebar support)
- Math Library: GLM
- GUI: ImGui, ImGuizmo
- ECS Library: entt
- Logging: spdlog
- Image Loading: stb_image
- Shader Compilation: Shaderc
- High-performance 3D rendering with support for meshes, models, materials, and textures
- Physically-Based Rendering (PBR) pipeline with real-time lighting and shadows
- Support for multiple rendering APIs (OpenGL, Vulkan, DirectX, Metal)
- Efficient batching, frustum culling, and draw call optimization
- Post-processing effects: bloom, HDR, motion blur, and SSAO
- Built-in 3D scene editor with drag-and-drop functionality
- Visual UI editor for interfaces, menus, and HUDs
- Real-time preview and live editing of scenes and assets
- Asset management for models, textures, shaders, animations, and audio
- Cross-platform support: Windows, Linux, macOS
- 3D spatial audio engine with sound positioning
- Sound effects and music management with mixing, layering, and attenuation
- C# scripting support with hot-reload capability
- Easy-to-use API for engine features and gameplay logic
- 3D physics engine with rigid bodies, colliders, and joints
- Collision detection, resolution, and physics simulation
- Rod’s custom ECS architecture for scalable, data-driven performance
- Multi-threading support and job system for parallelized tasks
Special thanks to The Cherno for the incredible game engine tutorial series, which helped kickstart this project and continues to be a valuable learning resource.
