Molten.IO 0.2.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Molten.IO --version 0.2.0                
NuGet\Install-Package Molten.IO -Version 0.2.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Molten.IO" Version="0.2.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Molten.IO --version 0.2.0                
#r "nuget: Molten.IO, 0.2.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Molten.IO as a Cake Addin
#addin nuget:?package=Molten.IO&version=0.2.0

// Install Molten.IO as a Cake Tool
#tool nuget:?package=Molten.IO&version=0.2.0                

Molten Engine 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

Build Status

Platform Github Azure
Windows Build Windows Build Status
Android Build Android
Linux
MacOS
iOS

GitHub GitHub last commit

Alpha versions of each Molten library can be found on Nuget.org

Core Feature Status

See the following table for the per-platform support and status of each feature.

✔️ Functional/Complete
🚧 Work in progres
Blank - Not Started
🚫 Not-applicable

Feature Windows Android Linux Mac iOS
Renderer - OpenGL 🚫
Renderer - OpenES 🚫 🚫
Renderer - Vulkan
Renderer - DirectX 11 🚧 🚫 🚫 🚫
Renderer - DirectX 12 🚫 🚫 🚫
Audio - OpenAL 🚧
Audio - XAudio 2 🚫 🚫 🚫
Keyboard support ✔️
Mouse support ✔️
Touch support 🚧 🚧
Game pad support ✔️
Entity component system ✔️ ✔️ ✔️ ✔️
Content Management System ✔️
Example projects 🚧
Networking - MNet
2D Physics engine
3D Physics engine
Tool - Content editor
Tool - Scene editor
Project templates

Renderer Feature Status

See the following table for the per-renderer support and status of each feature.

✔️ Functional/Complete
🚧 Work in progres
Blank - Not Started
🚫 Not-supported

Feature DX11 DX12 OpenGL OpenGL ES Vulkan
Deferrend rendering 🚧
Geometry Shaders ✔️
Tessellation 🚧
Hull & Domain Shaders ✔️
Compute Shaders 🚧
2D Spite batching ✔️
2D Primitive batching ✔️
Compressed textures ✔️
Hardware instancing
Occlusion culling
Frustrum culling
Portal culling
Level of Detail (LoD)
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
Render into Android UI 🚫 🚫
Raytracing 🚫 🚫 🚫
HLSL Shader Compiler 🚧 🚫 🚫 🚫 🚫
GLSL Shader Compiler
SPIR-V Shader Compiler

Android

Molten has recently been upgraded to .NET 7. 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:

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 - C# Bindings for DirectX 11/12, OpenGL, Vulkan, Assimp, OpenCL, OpenAL and OpenXR
  • SharpDX - Source for some Molten.Math types
  • Magick.NET - Extensive image library for .NET
  • JSON.NET - JSON serialization
Product Compatible and additional computed target framework versions.
.NET net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on Molten.IO:

Package Downloads
Molten.Font

The start of an open-source, cross-platform game engine, written in C#

Molten.Engine

The start of an open-source, cross-platform game engine, written in C#

Molten.Graphics.DXGI

The start of an open-source, cross-platform game engine, written in C#

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.7.4 491 12/22/2023
0.7.3 210 12/17/2023
0.7.2 229 12/11/2023
0.7.1 236 12/9/2023
0.7.0 302 11/25/2023
0.6.0 324 9/30/2023
0.5.0 359 7/30/2023
0.4.0 384 4/26/2023
0.3.0 527 2/28/2023
0.2.0 591 12/26/2022
0.1.0-alpha 480 11/1/2022

Initial release of Molten Engine.