A 3D Game Engine utilizing DirectX 12, PhysX SDK 5.0, and C# scripting.
This engine was developed as an educational project as part of the curriculum at ITMO University.
| Physics Demo | Lightings Demo |
|---|---|
![]() |
![]() |
| GPU Partice System | Behavior Tree Game |
|---|---|
![]() |
![]() |
| Split Screen Game | Engine Overview |
|---|---|
![]() |
![]() |
You can use EduEngineLauncher to open and create projects
- Flexible management of D3D12 resources, similar to DiligentEngine
- Abstraction of the
DirectX 12Graphics API for high-level modules - Deferred rendering
- Directional Cascaded Shadow Maps
- Percentage-Closer Filtering (PCF)
- Phong lighting (directional, point, and spotlight)
- Skybox with specular reflections
- Tone mapping
- Ray picking
- Multiple camera rendering
- GPU-based particle system
- Async Compute particle system
- Particle system with screen-space collision
- Material system
- Async rendering of Editor and Runtime
- More on Wiki
- Abstraction of the
PhysX SDKfor high-level modules - Static and dynamic rigidbodies
- Box, sphere, and capsule colliders
- Box, sphere, and capsule triggers
- Collision and trigger events
- Physics materials
- More on Wiki
- GameObject and component system
- Fields can be marked as editable in the editor (similar to
SerializeFieldin Unity) Color,Range, and other attributes- Asset references can be assigned from the editor
- Keyboard and mouse input API
IColliderCallbackinterface- Custom in-game UI
- Extensive API for modifying parameters of built-in components such as
Renderer,Rigidbody,Light, and others - Support for any .NET libraries in scripts
- More on Wiki - C# Scripts Feature
- Support for script, texture, mesh, material, and scene assets
- Generate Meta files with GUIDs for all assets
- Uses
FileSystemWatcherfor automatic asset resolution - Allows renaming and moving assets without breaking scene and material references
- More on Wiki
- Utilizes docked
IMGUI.NETandIMGUIZMO.NETlibraries - Displays all project assets
- Texture and mesh previews in the editor
- Material editor
- Drag-and-drop functionality in the hierarchy window to change parent objects
- Add and remove custom scripts to/from GameObjects
- Editor and Play modes
- Includes an
EDU_NO_EDITORflag to enable running the engine without loading editor resources - More on Wiki






