FUSEE 3D: Write 3D apps using .NET Core


#1

FUSEE 3D is an experimental lightweight Open Source 3D Realtime (“Game-”) engine that I started as a project with some of my students and which I am currently using in my Computer Graphics and Game Development lectures at Furtwangen University.

Features include:

  • Edit and debug 3D Game Apps in Visual Studio Code on top of .NET Core.
  • Publish 3D App as .NET executables as well as cross-compiled JavaScript to web browsers and as Android APKs (using Xamarin).
  • Create 3D assets using an integrated Blender Add-on.

Some facts that might be interesting from a (.NET) software development perspective:

  • Applications can be written in .NET Core while a platform-dependent part of the engine is written in .NET Framework 4.6.2.
  • 80% of the engine written in C# is also cross-compiled to JavaScript to create Web Apps using JSIL, an IL to JS compiler by K.Gadd.
  • The 3D asset file format is created on top of ProtoBuf .net yielding binary compatible serializers in C#, JavaScript and Python (for the Blender Add-on).

Any comments are welcome.


#2

Thats pretty cool. Does it have an agnostic rendering API? Or does it only target OpenGL/GLES?


#3

The rendering API is accessed through an interface abstracting the underlying rendering API implementation (IRenderContextImp). Different rendering APIs can be used by implementing that Interface. Desktop Applications built with FUSEE use an implementation based on OpenTK, Web applications use an implementation based on WebGL and Android use an implementation based on GLES (also through OpenTK). We started an experimental Direct3D implementation but this is still in a proof-of-concept state.


.NET Foundation Website | Blog | Projects | Code of Conduct