Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/syncaidius/moltenengine

A spare-time C# .NET 8 game engine project. Cross-platform, multi-threaded.
https://github.com/syncaidius/moltenengine

3d 3d-engine android cross-platform csharp directx game-engine molten multithreading net7 openal opengl vulkan windows wip

Last synced: about 6 hours ago
JSON representation

A spare-time C# .NET 8 game engine project. Cross-platform, multi-threaded.

Awesome Lists containing this project

README

        

![Molten Engine](Images/logo_light_transparent.png)
Molten started as spare-time engine project, which I eventually intend to use to develop my own games without relying on other engines. Hopefully you'll find a use for it too!

While parts of this project will inevitably be a classic case of re-inventing the wheel, I'm treating it as a chance to gain more experience in the area of game engine development.

[Documentation on GitHub Pages](https://syncaidius.github.io/MoltenEngine/)
# Build Status
| Pathway | Status | Download |
| :--------- | :---- | -: |
| Dev (_nightly_) | [![Build Dev](https://github.com/Syncaidius/MoltenEngine/actions/workflows/build.yml/badge.svg)](https://github.com/Syncaidius/MoltenEngine/actions/workflows/build.yml) | [![Build Dev](https://img.shields.io/badge/releases-blue)](https://github.com/Syncaidius/MoltenEngine) |
| Release | [![Release Build](https://dev.azure.com/jyarwood/MoltenEngine/_apis/build/status/MoltenEngine-.NET%20Desktop-CI)](https://dev.azure.com/jyarwood/MoltenEngine/_build/latest?definitionId=2) | [![Nuget](https://img.shields.io/nuget/v/Molten.Engine?color=%2322AAFF&label=NuGet)](https://www.nuget.org/packages?q=molten+Syncaidius) |

[ ![GitHub](https://img.shields.io/github/license/Syncaidius/MoltenEngine)](LICENSE) [![GitHub last commit](https://img.shields.io/github/last-commit/Syncaidius/MoltenEngine)](https://github.com/Syncaidius/MoltenEngine/commits/) ![GitHub Sponsors](https://img.shields.io/github/sponsors/Syncaidius?logo=github&label=sponsors&color=red)

# Core Feature Status
See the following table for the per-platform support and status of each feature.

| Key | Description |
| :--- | :--- |
| ✔️ | Functional/Complete |
| 🚧 | Work in progres |
| | Not Started |
| 🚫 | Not-supported |

| Feature | Windows | Android | Linux | Mac | iOS |
| :--- | :-------: | :-----: | :---: | :-: | :-: |
| Renderer - Vulkan | 🚧 | | | | |
| Renderer - DirectX 12 | 🚧 | 🚫 | 🚫 | 🚫 | |
| Networking - MNet | | | | | |
| Audio Engine | 🚧 | | | | |
| Keyboard support | ✔️ | | | | |
| Mouse support | ✔️ | | | | |
| Touch support | 🚧 | 🚧 | | | |
| Game pad support | ✔️ | | | | |
| Entity component system | ✔️ | ✔️ | ✔️ | ✔️ | |
| Content Management System | ✔️ | | | | |
| Example projects | 🚧 | | | | |
| 2D Physics engine | | | | | |
| 3D Physics engine | | | | | |
| Tooling - Scene editor | | | | | |
| Tooling - Shader editor | | | | | |
| Tooling - Sprite editor | | | | | |
| Project templates | | | | | |

# Renderer Feature Status
See the following table for the per-renderer support and status of each feature.

| Feature | DX12 | Vulkan |
| :--- | :-----: | :-: |
| Multi-GPU Support | 🚧 | 🚧 |
| Deferrend rendering | | |
| Physically-Based (PBR) | | |
| Geometry Shaders | | |
| Tessellation | | |
| Hull & Domain Shaders | | |
| Compute Shaders | | |
| Mesh Shaders | | |
| 2D Spite batching | | |
| 2D Primitive batching | | |
| Compressed textures | | |
| [Hardware instancing](https://en.wikipedia.org/wiki/Geometry_instancing) | | |
| [Occlusion culling](https://en.wikipedia.org/wiki/Hidden-surface_determination#Occlusion_culling) | | |
| [Frustrum culling](https://en.wikipedia.org/wiki/Hidden-surface_determination#Viewing-frustum_culling) | | |
| [Portal culling](https://docs.panda3d.org/1.10/python/programming/render-attributes/occlusion-culling/portal-culling) | | |
| [Level of Detail (LoD)](https://en.wikipedia.org/wiki/Level_of_detail_(computer_graphics)) | | |
| HDR support | | |
| 2D Texture arrays | | |
| 3D Texture arrays | | |
| 3D/volume textures | | |
| static skyboxes | | |
| real-time skyboxes | | |
| multi-window support | | |
| Render into WinForms | | |
| Render into WPF | | |
| Render into UWP | | 🚫 |
|[Render into MAUI](https://docs.microsoft.com/en-us/dotnet/maui/what-is-maui) | | |
| Render into Android UI | 🚫 | |
| Raytracing | | |
| Shader Compiler (HLSL/SPIR-V) | ✔️ | 🚧 |

# Android
To build for Android you will need to install the Android workloads by running
```dotnet workload install android``` in command prompt or powershell.

If you're upgrading from a previous .NET version, you may also need to run this command again to update the android workload.

# Sponsors
A massive thank you to some of our sponsors:
* [IceReaper](https://github.com/IceReaper)

# Third-Party Libraries
A special thanks to each of these great libraries, without which Molten wouldn't exist in it's current form:
* [Silk.NET](https://github.com/dotnet/Silk.NET) - C# Bindings for DirectX 11/12, OpenGL, Vulkan, Assimp, OpenCL, OpenAL and OpenXR
* [SharpDX](https://github.com/sharpdx/SharpDX) - Source for some Molten.Math types
* [Magick.NET](https://github.com/dlemstra/Magick.NET) - Extensive image library for .NET
* [JSON.NET](https://www.newtonsoft.com/json) - JSON serialization