Need help with SpartanEngine?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

PanosK92
917 Stars 85 Forks MIT License 2.4K Commits 10 Opened issues

Description

Game engine with an emphasis on architectual quality and performance

Services available

!
?

Need anything else?

Contributors list

# 63,508
C++
C
Shell
vulkan
2333 commits
# 675,585
C++
C
vulkan
directx...
1 commit
# 675,586
C++
C
vulkan
directx...
1 commit
# 675,587
C++
C
vulkan
directx...
1 commit

Spartan Engine Discord

An engine which is the result of my never-ending quest to understand how things work and has become my go-to place for research. It's designed around the philosophy of favoring fast real-time solutions over baked/static ones, a spartan approach offering a truly dynamic experience.

If you're also on the lookout for knowledge, then you might find this engine to be a helpful study resource. This is because a lot of effort goes into into building and maintaining a clean, modern and overall high quality architecture, an architecture that will ensure continuous development over the years ;-)

For occasional updates regarding the project's development, you can follow me on twitter.

For questions, suggestions, help and any kind of general discussion join the discord server.

For issues and anything directly related to the project, feel free to open an issue.

Embracing the open source ethos and respecting the MIT license is greatly appreciated. This means that you can copy all the code you want as long as you include a copy of the original license.

Download

Platform

API Status Quality Binaries
Build status Codacy Badge Download
Build status Beta Download
Build status WIP WIP

Media

Features (v0.31)

  • 10+ font file formats support (FreeType)
  • 20+ audio file formats support (FMOD)
  • 30+ image file formats support (FreeImage)
  • 40+ model file formats support (Assimp)
  • Vulkan and DirectX 11 backends (same HLSL shaders compile everywhere)
  • Deferred rendering with transparency (under a single render path and using the same shaders)
  • Principled BSDF supporting anisotropic, clearcoat and cloth materials (combined with things like normal mapping, parallax, masking, occlusion etc)
  • Bloom (Based on a study of Resident Evil 2's RE Engine)
  • Volumetric lighting
  • Lights with physical units (lux for directional, candelas for point and spot lights)
  • Shadows with penumbra and colored translucency (Cascaded and omnidirectional shadow mapping with Vogel filtering)
  • SSAO (Screen space ambient occlusion)
  • SSR (Screen space reflections)
  • SSS (Screen space shadows)
  • TAA (Temporal anti-aliasing based on Uncharted 4)
  • Physically based camera (Aperture, Shutter Speed, ISO)
  • Depth of field (controlled by the aperture of the camera)
  • Motion blur (controlled by the shutter speed of the camera)
  • Real-time shader editor
  • Custom mip chain generation (Higher texture fidelity using Lanczos3 scaling)
  • Font rendering
  • Frustum culling
  • Post-process effects (Tone-Mapping, FXAA, Sharpening, Dithering, Chromatic aberration etc.)
  • Physics (Rigid bodies, Constraints, Colliders)
  • Entity-component system
  • Event system
  • Input (Keyboard, Mouse, Xbox controller)
  • Debug rendering (Transform gizmo, scene grid, bounding boxes, colliders, raycasts, g-buffer visualization etc)
  • Thread pool
  • Engine rendered platform agnostic editor
  • Profiling (CPU & GPU)
  • C# scripting (Mono)
  • XML files
  • Windows 10 and a modern/dedicated GPU (The target is high-end machines, old setups or mobile devices are not officially supported)
  • Easy to build (Single click project generation which includes editor and runtime)

Roadmap

v0.32-35 (WIP)

Feature

Completion Notes
Screen space global illumination 100% One bounce of indirect diffuse and specular light
Depth-of-field 100% Controlled by Camera aperture
C# scripting (Replace AngelScript) 50% Using Mono (no engine API exposed yet)
Vulkan polishing - Optimise to outperform D3D11 in all cases and improve stability, things which will also make the engine API better.
DirectX 12 - Low priority, after the engine API has matured thanks to Vulkan, D3D12 will take little time to add.
Eye Adaptation - Low priority
Subsurface Scattering - Low priority
Ray traced shadows - -
Ray traced reflections - -
Linux support - Setup a virtual machine, get Vulkan running. Might bring new people into the project.

Future
  • Skeletal Animation.
  • Atmospheric Scattering.
  • Dynamic resolution scaling.
  • Export on Windows.
  • UI components.
  • Make editor more stylish.

Documentation

Dependencies

License

  • Licensed under the MIT license, see LICENSE.txt for details.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.