Zongine is a modern game engine built on DirectX 11, designed with an Entity Component System (ECS) architecture. The engine focuses on providing high-performance rendering capabilities and flexible editor tools, supporting advanced rendering techniques and physics simulation.
-
๐จ Modern Rendering Pipeline
- Frame graph rendering system based on RenderGraph
- Support for Opaque and Order-Independent Transparency (OIT) rendering
- Automatic resource management and dependency resolution
-
๐๏ธ ECS Architecture
- Entity Component System design pattern
- Modular system architecture (Rendering, Physics, Animation, Input, etc.)
- Flexible component composition
-
๐ฎ Full-Featured Editor
- Visual editing interface based on Qt 6
- Real-time scene editing and preview
- Entity tree view and component property panel
-
โก Physics Simulation
- Integrated NVIDIA Flex physics engine
- Support for soft bodies, fluids, and other advanced physics effects
-
๐ฌ Asset System
- LLoader asset loading library
- Support for models, textures, materials, skeletal animations, and more
- DirectXTex texture processing
- Graphics API: DirectX 11
- Programming Language: C++
- UI Framework: Qt 6
- Build Tools: Visual Studio 2019+, CMake
- DirectXTex: Texture loading and processing
- Effects11 (FX11): Shader effects system
- NVIDIA Flex: Advanced physics simulation
- Qt 6: Editor UI framework
Engine (Core Engine Class)
โโโ RenderSystem (Rendering System)
โ โโโ RenderGraph (Frame Graph Rendering Pipeline)
โโโ PhysicsSystem (Physics System)
โโโ NvFlexSystem (Flex Physics System)
โโโ AnimationSystem (Animation System)
โโโ CameraSystem (Camera System)
โโโ TransformSystem (Transform System)
โโโ InputSystem (Input System)
RenderGraph is the core rendering system of the engine, providing:
- Automatic dependency management and topological sorting
- Flexible Pass system (ClearPass, OpaquePass, OITPass, CompositePass, PresentPass)
- Automatic resource management (RenderTarget, DepthStencil, ShaderResource)
For detailed usage guide, please refer to RenderGraph Guide
The engine supports the following component types:
MeshComponent: Mesh renderingMaterialComponent: Material propertiesSkeletonComponent: Skeletal animationNvFlexComponent: Flex physics simulationCameraComponent: CameraTransformComponent: Transform matrixNameComponent: Entity naming
- Windows 10/11
- Visual Studio 2019 or higher
- DirectX 11 compatible graphics card
- Qt 6.x SDK (for editor)
- CMake 3.15+ (optional)
- Clone the repository
git clone https://github.com/leafvmaple/Zongine.git
cd Zongine- Initialize submodules (if any)
git submodule update --init --recursive- Open the solution
# Open with Visual Studio
start Zongine.sln-
Configure Qt environment
- Ensure Qt Visual Studio Tools extension is installed
- Configure Qt 6 path
-
Build the project
- Select
DebugorReleaseconfiguration - Build the
Editorproject orSimpleexample project
- Select
After building, run Editor.exe:
.\x64\Debug\Editor.exeZongine/
โโโ Docs/ # Documentation
โ โโโ Reference.md # Reference documentation
โ โโโ RenderGraph_Guide.md # RenderGraph usage guide
โ โโโ TODO.md # Development roadmap
โ
โโโ Engine/ # Engine source code
โ โโโ 3rd/ # Third-party libraries
โ โ โโโ DirectXTex/ # Texture processing library
โ โ โโโ FX11/ # Effects11
โ โ โโโ NVFlex/ # NVIDIA Flex
โ โ
โ โโโ Include/ # Public header files
โ โโโ Shader/ # Shader source code
โ โ
โ โโโ Source/
โ โโโ Editor/ # Qt editor
โ โโโ Runtime/ # Runtime engine
โ โ โโโ Components/ # Component definitions
โ โ โโโ Systems/ # System implementations
โ โ โโโ RenderGraph/ # Render graph
โ โ โโโ Entities/ # Entity management
โ โโโ LLoader/ # Asset loader
โ โโโ Maths/ # Math library
โ โโโ Simple/ # Simple example
โ
โโโ Lib/ # Compiled library files
โโโ Product/ # Product output
โ โโโ data/ # Asset data
โโโ x64/ # Build output
- RenderGraph Guide - Detailed rendering pipeline usage documentation
- TODO - Feature development and roadmap
- Improve material system
- PBR rendering support
- Post-processing effects system
- More physics effects
- Scene serialization and loading
- Asset hot-reloading
Issues and Pull Requests are welcome!
This project is licensed under the BSD 3-Clause License.
Copyright (c) 2025, Zohar Lee
Thanks to the following open source projects:
- Author: Zohar Lee (leafvmaple)
- Repository: https://github.com/leafvmaple/Zongine